一.计算机系统构成及硬件基础知识---原码补码反码及移码

   1. 在学习原码,反码,补码,移码之前,先了解机器数。

  一个数在计算机中的二进制表现形式,叫做这个数的机器数。机器数是带符号位的,在计算机中用一个数的最高位存放符号,正数为0,负数为1.

比如,十进制中的数+3,计算机字长为8位,转换成二进制就是00000011.如果是-3,就是10000011.

2.真值,将带符号位的机器数对应的真正数值成为机器数的真值。

例:00000001的真值是 = +000 00001 = +1,100000001的真值 = -000 0001 = -1

3.原码,反码,补码,移码的概念和计算方法

(1).原码:原码就是符号位加上真值的绝对值,即用第一位表示符号,其余为表示值,例如:

【+】原 = 0000 0001

【-1】原 = 1000 0001

第一位是符号位,所以8位二进制数的取值范围就是:【1111 1111,01111 1111】,即:【-127,127】

(2).反码

正数的反码是其原码本身

负数的反码,是在原码的基础上,除符号位外其余位数取反。

【+1】=【0000 0001】原 = 【0000 0001】反

【-1】=【1000 0001】原=【1111 1110】反

(2).补码

正数的补码是其原码本身

负数的补码是在反码的基础上加1

【+1】=【0000 0001】原 =【0000 0001】反 =【0000 0001】补

【-1】=【1000 0001】原=【1111 1110】反 =【1111 1111】补

(2).移码

正负数的移码都是把补码的符号位取反

【+1】=【0000 0001】原 =【0000 0001】反 =【0000 0001】补 =【1000 0001】移

【-1】=【1000 0001】原=【1111 1110】反 =【1111 1111】补 =【0111 1111】移

4.数值取值范围:


最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 书中关于原码、反码、补码和移码的定义如下(n是机器字长):原码: 反码: 补码: 移码: 原码, 反码, 补码的基...
    困卡阅读 16,422评论 2赞 8
  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可...
    yang2yang阅读 2,579评论 1赞 13
  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可...
    克里斯加德纳阅读 841评论 0赞 51
  • https://www.jianshu.com/p/55a8195291db本篇文章讲解了计算机的原码, 反码和补...
    PupilCHen阅读 1,317评论 1赞 48
  • 最近在学习位运算符时,发现负数在做带符号位的右移运算符时,结果与想象中的大不一样,经过查阅资料之后发现,原来这一切...
    YyzclYang阅读 2,620评论 0赞 1

友情链接更多精彩内容