4294967295 二进制//1111 1111 1111 1111 1111 1111 1111 1111 == 2^31 +2^30+ 2^0?#includeint main(){short a=-1;printf("%u\n",a);//short类型为什么会表示4294967295 //明明超过俩个字节!}

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 15:29:51
4294967295 二进制//1111 1111 1111 1111 1111 1111 1111 1111 == 2^31 +2^30+ 2^0?#includeint main(){short a=-1;printf(

4294967295 二进制//1111 1111 1111 1111 1111 1111 1111 1111 == 2^31 +2^30+ 2^0?#includeint main(){short a=-1;printf("%u\n",a);//short类型为什么会表示4294967295 //明明超过俩个字节!}
4294967295 二进制//1111 1111 1111 1111 1111 1111 1111 1111 == 2^31 +2^30+ 2^0?
#include
int main()
{
short a=-1;
printf("%u\n",a);//short类型为什么会表示4294967295 //明明超过俩个字节!
}

4294967295 二进制//1111 1111 1111 1111 1111 1111 1111 1111 == 2^31 +2^30+ 2^0?#includeint main(){short a=-1;printf("%u\n",a);//short类型为什么会表示4294967295 //明明超过俩个字节!}
用补码存储的呢
-1 原码 1000 0000 0000 0000 0000 0000 0000 0001
按位求反1111 1111 1111 1111 1111 1111 1111 1110 //符号位不变
+1 1111 1111 1111 1111 1111 1111 1111 1111
所得就是补码