为什么C语言或其他语言中 a=1,为什么 a=-2 呢 a=1:00000001 a:11111110在计算机内以补码存放 即 10000001 + 1 = 10000010 即-2-2只是~a的补码,但以我的理解数值在计算机中以补码形式存放,这个-2只是在

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 15:34:47
为什么C语言或其他语言中 a=1,为什么 a=-2 呢 a=1:00000001 a:11111110在计算机内以补码存放 即 10000001 + 1 = 10000010 即-2-2只是~a的补码,但以我的理解数值在计算机中以补码形式存放,这个-2只是在

为什么C语言或其他语言中 a=1,为什么 a=-2 呢 a=1:00000001 a:11111110在计算机内以补码存放 即 10000001 + 1 = 10000010 即-2-2只是~a的补码,但以我的理解数值在计算机中以补码形式存放,这个-2只是在
为什么C语言或其他语言中 a=1,为什么 a=-2 呢
a=1:00000001 a:11111110
在计算机内以补码存放 即 10000001 + 1 = 10000010 即-2
-2只是~a的补码,但以我的理解数值在计算机中以补码形式存放,这个-2只是在内存中的存放形态,从内存中读出,显示给我们不是应该还原 即:1000 0010 -1 = 1000 0001 再取反 1111 1110即 -126吗?怎么直接显示 补码 -2呢?
补充一下我这里指的是不是无符号数,比如 int a =1 ; a=-2;

为什么C语言或其他语言中 a=1,为什么 a=-2 呢 a=1:00000001 a:11111110在计算机内以补码存放 即 10000001 + 1 = 10000010 即-2-2只是~a的补码,但以我的理解数值在计算机中以补码形式存放,这个-2只是在
a在计算机中存的就是11111110,所以在显示时经过一次求补变成10000010,即-2了.在进行~运算时,应该是内部运算,不需要将结果求补后存在内存里了,我感觉是这样,你可以在VC上编个程序运行看看