为什么C语言或其他语言中 a=1,为什么 a=-2 呢 a=1:00000001 a:11111110在计算机内以补码存放 即 10000001 + 1 = 10000010 即-2-2只是~a的补码,但以我的理解数值在计算机中以补码形式存放,这个-2只是在
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 00:45:47
![为什么C语言或其他语言中 a=1,为什么 a=-2 呢 a=1:00000001 a:11111110在计算机内以补码存放 即 10000001 + 1 = 10000010 即-2-2只是~a的补码,但以我的理解数值在计算机中以补码形式存放,这个-2只是在](/uploads/image/z/13179557-29-7.jpg?t=%E4%B8%BA%E4%BB%80%E4%B9%88C%E8%AF%AD%E8%A8%80%E6%88%96%E5%85%B6%E4%BB%96%E8%AF%AD%E8%A8%80%E4%B8%AD+a%3D1%2C%E4%B8%BA%E4%BB%80%E4%B9%88+a%3D-2+%E5%91%A2+a%3D1%3A00000001+a%3A11111110%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%86%85%E4%BB%A5%E8%A1%A5%E7%A0%81%E5%AD%98%E6%94%BE+%E5%8D%B3+10000001+%2B+1+%EF%BC%9D+10000010+%E5%8D%B3%EF%BC%8D2-2%E5%8F%AA%E6%98%AF%7Ea%E7%9A%84%E8%A1%A5%E7%A0%81%2C%E4%BD%86%E4%BB%A5%E6%88%91%E7%9A%84%E7%90%86%E8%A7%A3%E6%95%B0%E5%80%BC%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%AD%E4%BB%A5%E8%A1%A5%E7%A0%81%E5%BD%A2%E5%BC%8F%E5%AD%98%E6%94%BE%2C%E8%BF%99%E4%B8%AA%EF%BC%8D2%E5%8F%AA%E6%98%AF%E5%9C%A8)
为什么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上编个程序运行看看