这一小节中,我们要学习原码、反码、补码3 种码的特性对比,需要注意这样的几个维度。
一会我们会来分别探讨,这是小题当中很常见的考点哈。
这个小节的内容不难,也不多,我们只需要注意表里边给大家总结的问题就可以了。
经过之前的学习,我们知道了带符号的整数,可以用原、反、补三种方式来表示。
无符号的整数把所有的比特位都作为数值位,无符号的整数它只有一种编码方式,所以我们没给它
取什么什么码这样的名字。
接下来我们来看一下对于 n + 1 个比特表示的原码、反码、补码以及无符号整数,它们的合法表示
范围、最大的数、最小的数以及真值 0 的表示分别是什么样的情况。
(1)原码
首先,之前我们讨论过原码的表示范围。如果用 n + 1 个比特表示原码,原码的数值位就有用 n 个
比特来表示,n 个比特可以表示的数的范围应该是 0~ 2 的 n 次方减1。再加上1个比特的符号位,可以
表示正号或者负号。
因此原码它的一个合法表示范围是这样的范围,它可以表示的最大的数应该是正数0,后面所有的都
是 1 ,转变成十进制的值应该是 2 的 n 次方减1。
最小的数就是负的1,数值位让它保证值是最大的,也就是全为1。这样我们就可以表示最小的数,
负的 2n 次方减1。
之前我们也说过,原码的真值 0 有两种表现方式,一种是正0,一种是负0。
(2)反码
反码和原码是一毛一样的。