在这个小节中,我们要学习带符号整数的最后一种编码方式,叫做移码。
怎么得到 移码 ?
很简单,在补码的基础上,符号位取反就可以得到移码。
正 19 和负 19 的原反补码分别是这么表示(如下图),要得到移码,只需要在补码的基础上把符号
位取反就可以。
因此,只要我们先得到补码,那就可以快速的转换为移码。
值得一提的是,移码只能用于表示整数,像原码、反码、补码它们是可以用于表示小数的。
之后的小结,我们会说怎么用原反补码来表示小数。
现在我们先来讨论移码。译码和补码一样,它只有一种真值 0 的表示形式。
同时,移码的合法表示范围和补码也是相同的,相比于原码和反码来说,移码可以多表示1个负数。
所以如果是8比特的移码,它的合法表示范围就应该是负的 128 到正的 127 这样的范围,这就是移码。