c语言 会c的来哈6
main(){ unsigned int a;int b=-1;a=b;printf("%u",a);}程序运行后的输出结果是说的越详细越好
参考答案:答案应是65535
一个整数在内存中占2个字节16位,一般的int最高位1表示负数,0表示正数
整数在内存中一般是以补码形式存放。-1的补码是1111111111111111
补码详见:
而a是无符号数,最高位表示数值
故111111111111111的值是2的16次方-1即65535
main(){ unsigned int a;int b=-1;a=b;printf("%u",a);}程序运行后的输出结果是说的越详细越好
参考答案:答案应是65535
一个整数在内存中占2个字节16位,一般的int最高位1表示负数,0表示正数
整数在内存中一般是以补码形式存放。-1的补码是1111111111111111
补码详见:
而a是无符号数,最高位表示数值
故111111111111111的值是2的16次方-1即65535