软考数据库系统工程师知识点精讲之各种码制

数据库系统工程师 责任编辑:长颈鹿 2016-05-10

添加老师微信

备考咨询

加我微信

摘要:各种码制,本节主要掌握原码、反码、补码和移码的概念,以及各自的用途和优点。

    >>>数据库系统工程师面授班

    >>>数据库系统工程师网络课堂

    >>>数据库系统工程师在线辅导班 

      各种码制

      本节主要掌握原码、反码、补码和移码的概念,以及各自的用途和优点。

    1.原码

      将较高位用做符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式。这种方式是最容易理解的。例如,假设用8位表示一个数,则+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的补码为11110100+1=11110101

      再次做以上的加法,是这样的:

      (00000001)2+(11111111)2=(00000000)2

      这说明,直接使用补码进行计算的结果是正确的。

      对一个补码表示的数,要计算其原码,只要对它再次求补。由于补码能使符号位与有效值部分一起参加运算,从而简化了运算规则,同时它也使减法运算转换为加法运算,进一步简化计算机中运算器的电路,这使得在大部分计算机系统中,数据都使用补码表示。

      4.移码

      移码又称为增码,移码的符号表示和补码相反,1表示正数,0表示负数。也就是说,移码是在补码的基础上把首位取反得到的,这样使得移码非常适合于阶码的运算,所以移码常用于表示阶码。

      相关推荐:

    软考数据库系统工程师知识点之精简指令系统计算机

      软考数据库系统工程师知识点精讲之总线和接口

      软考数据库系统工程师计算机组成知识点汇总

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!