这个怎么理解呢
11111111111111111111111111111
x[1]=2+1-3=0
下标从0开始数
54321的下标分别为01234 x[1]=x[3]+x[4]-x[2]==>x[1]=2+1-3=0
01234
2.
#include <stdio.h>
int main()
{
char a = -128;
printf("%u\n",a);
return 0;
}
答案是:4294967168
解析:
a的原码:10000000000000000000000010000000
a的反码:11111111111111111111111101111111
a的补码:11111111111111111111111110000000
因为a是char类型,所以a里面存放的应该是8个bit位: 10000000
以%u形式输出出来,要发生整形提升,看见a是char类型是有符号的,高位补1,得到:11111111111111111111111110000000,最后发现是以%u的类型打印出来,可%u是无符号类型,就意味着,这是个正数,正数的原反补相同,所以是168结尾的大数字