负数到底是怎么表示的,还有什么事补码,求帮助,求资料。图中V110= -7933.是那些V通了?
图片说明:
最佳答案
1、程序中显示的 -7933是带符号的十进制数,但计算机内部数字都采用二进制来表示。
2、转帖:计算机中数字都采用二进制来表示,正数容易理解,那么负数怎么表示呢?这里涉及到原码,补码和反码的知识:
、8位二进制正数表示范围:
0000 0000 ~ 1111 1111,(0 ~ 255)
这个不难理解,那么如何表示负数呢?设计计算机的人就想,把最高位作为符号位,0表示正数,1表示负数。这样,8位二进制数表示范围就发生了变化:
、负数:1 111 1111 ~ 1 000 0000 , (-127 ~ -0)。
、正数:0 000 0000 ~ 0 111 1111, (0 ~ 127)。
但是如果在计算机中这样表示负数,那么相加减就很不方便。试想 -1 + 1 = 0 ,换成二进制就是:
1 000 0001
+ 0 000 0001
-------------
1 000 0010
计算机计算出来结果就是1 000 0010,这个结果等于-2,不是等于0,如果要保证结果正确,就需要修改计算机做加法的方式,非常不方便。于是设计计算机的人员就想到一个好方法,采用补码形式来表示有符号数。简单的说-1不是用1 000 0001来表示,而是用补码1 111 1111来表示,我们再来看下采用补码形式的 -1 + 1 的结果
1 111 1111
+ 0 000 0001
----------------
10 000 0000
、那么补码怎么计算出来的呢?
例如求-1的补码:-1原码是1 000 0001,符号位保持不变,取反就是 1 111 1110 ,然后加1,就得到补码1 111 1111了。
提问者对于答案的评价:
太感谢了
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc222589.html