> 数学 >
补码的范围
-0的补码是?10000000还是00000000?-128是指10000000吗?若-0和+0的补码都是00000000那么机器是怎么识别-128的呢?
人气:187 ℃ 时间:2020-09-04 02:11:36
解答
数字,可以变成码(原、反、补).
数字,只有:负数、零、正数.这里面,并没有 -0、+0.
-128 的补码,是按照《补码定义式》做出来的.
因为,在八位的条件下,-128,并没有原码和反码,所以,求反加一,不适用.在计算机里-128是存储为10000000还是00000000?存到计算机 !谁存的?怎么存的?用什么软件存的?-、1、2、8,也是一种存法。......当然是系统内核了,定义编译好了以后,系统给程序创建PCB等信息之后调入内存总有个物理单元吧(32位),当这个值为-128时是为10000000还是00000000呢?值为-128,其32位补码是:1111 1111 1111 1111 1111 1111 1000 0000。如果用 原码、反码、ASCII 码、BCD 码、...,存放的结果都是不同的。-0源码就是1000 0000 0000 0000 0000 0000,其补码取反1111 1111 1111 1111 1111 1111在加1变成1000 0000 0000 0000 0000 0000(若0和-0的补码都是00000000,计算机怎么分别是0还是-128你说是不?),所以我认为十六进制表示为10000000,但是书上说是00000000(0和-0的补码一样),蒙了。。。。若0和-0的补码都是00000000,--这句话,不成立。刚才已经说了:只有数字,可以变成码(原、反、补)。数字,只有:负数、零、正数。这里面,并没有 -0、+0。0 的补码是 0000 0000。-128 的补码,是 1000 0000,是按照《补码定义式》做出来的。事情,就是这么简单。
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版