在计算机中,最适合进行数字加减运算的数字编码是(4),最适合表示浮点数阶码的数字编码是(5)。

admin2019-03-04  25

问题 在计算机中,最适合进行数字加减运算的数字编码是(4),最适合表示浮点数阶码的数字编码是(5)。

选项 A、原码
B、反码
C、补码
D、移码

答案D

解析 本题实际上是考查考生对原码、反码、补码和移码的理解,如果对这几种码制的特性比较熟悉,题目自然就迎刃而解了。一个正数的原码、补码、反码是相同的,负数则不同。下面简单介绍一下这几种码制的各自特色。
   1.原码
   原码是将最高位用做符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式。这种方式是最容易理解的。例如,+11的原码是00001011,-11的原码是10001011。
   但是在计算时直接使用原码会有麻烦。比如(1)10+(-1)10=0,如果直接使用原码,则:
   (00000001)2+(1000001)2=(10000010)2
   这样计算的结果是-2,也就是说,使用原码直接参与计算可能会出现错误的结果。所以,原码的符号位不能直接参与计算,必须和其他位分开,这样会增加硬件的开销和复杂性。
   2.反码
   正数的反码与原码相同。负数的反码符号位为1,其余各位为该数绝对值的原码按位取反。这个取反的过程使得这种编码称为反码。例如,-11的反码是11110100。
   同样对上面的加法,使用反码的结果是:
   (00000001)2+(11111110)2=(11111111)2
   这样的结果是负0,而在人们普遍的观念中,0是不分正负的。反码与原码的特性刚好相反,反码的符号位可以直接参与计算,减法运算能得到正确结果,但直接进行加法运算无法得到正确结果。
   3.补码
   正数的补码与原码相同。负数的补码是该数的反码加1,这个加1就是“补”。例如,-11的补码是11110101。
   再次做加法是这样的:
   (00000001)2+(11111111)2=(00000000)2
   因此,直接使用补码进行计算的结果是正确的。对一个补码表示的数,要计算其原码,只要对它再次求补就可以了。
   由于补码能使符号位与有效值部分一起参加运算,从而简化运算规则,同时它也使减法运算转换为加法运算,进一步简化计算机中运算器的电路,这使得在大部分计算机系统中,数据都使用补码表示。
   4.移码
   移码是在补码的基础上把首位取反得到的,这样使得移码非常适合于阶码的运算,所以移码常用于表示阶码。
转载请注明原文地址:https://jikaoti.com/ti/nnx7FFFM
0

相关试题推荐
最新回复(0)