为什么8位有符号十进制整数 -128的补码是1000 0000 ?我想来想去想不通

2024-12-18 21:15:25
推荐回答(5个)
回答1:

你的说法没有错,但不严密。应当这样说,所有的整数都有原码、反码、补码,只是正数的原码、反码、补码与原码相同。而无符号整数是按正数对待的,所以它的原码、反码、补码也与原码相同。这里说的反码与通常的按位取反不完全是一回事,这里的反码只对负数而言且高位的1是不变的,而通常说的按位取反则是包括最高位的。不知道当初的“理论家”为什么要搞出个反码、补码来,搞得初学者非常纠结;其实这里说的反码是为求补码服务的,而补码就是负整数在计哗阀糕合蕹骨革摊宫揩算机中的表示方法,为什么当初不搞成正整数与负整数的二进制表示不一样:3是011,而-3是101不就完了嘛?

回答2:

+0和-0都是一个。
看看补码的原理就是了。
好像是绝对值按位取反+1.
128在8位补码是无法表示的,-128才能表示。
1000 0000是-128的补码,0的补码就是0。

回答3:

实际上补码这个概念,适用天任何进制,困为其本质的定义为,若一个数X与另一个数Y相加正好得到X或Y的最小进位(注意要保持X或Y的长度相同),则称X 或Y互补,这个最小进位的数就称为“模”。例如十进制数1和9,其模是10,而09和91的模就是100,这样你就应该看到模要比其数多一位,那么128+128=256,正好产生了一个进位

回答4:

晕,128在8位补码是无法表示的,-128才能表示。
1000 0000是-128的补码,0的补码就是0。

回答5:

+0和-0都是一个。
看看补码的原理就是了。
好像是绝对值按位取反+1.