A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


原码、反码和补码:
 在计算机内部存储的带符号数都是以补码形式存储,用补码形式进行运算的。
  1、原码
  整数X的原码是指:其符号位为0表示正,为1表示负;  其数值部分就是X的绝对值的二进制数。
       X的原码通常用【X】原表示。如:
  【+100】原=01100100 【+0】原=00000000
  【- 100】原=11100100 【- 0】原=10000000      在原码中,零有两种表示形式;
  原码表示法简单易懂,与真值(带符号数本身)转换方便,只要符号还原即可,但当两个正数相减或不同符号数相加时,必须比较两个数哪个绝对值大,才能决定谁减谁,才能确定结果是正还是负,所以原码不便于加减运算。
  2、反码
  X的反码是指:对于正数,反码与原码相同;   对于负数,符号位不变,其数值位X的绝对值取反(1变0,0变1)。
      X的反码通常用【X】反来表示。如:
  【+100】反=01100100 【+0】反=00000000
  【- 100】反=10011011 【 -0】反=11111111     在反码中,零也有两种表示形式。
  反码运算也不方便,通常用来作为求补码的中间过渡。
  3、补码
  X的补码是指:对于正数,补码与原码相同;   对于负数,符号位不变,其数值位X的绝对值取反后在最低位加1。
       X的补码通常用【X】补来表示,实际上,【X】补=【X】反+1。如:
  【+100】补=01100100 【+0】补=00000000
  【- 100】补=10011100 【 -0】补=00000000     在补码中,零有唯一的编码,【+0】补=【-0】补=00000000。
  补码运算简单方便,符号位可以作为数据的一位参与运算,不必单独处理;
       二进制的减法可用其补码的加法来实现,简化了硬件电路。

一、原码表示法
  除了符号位外,其他二进制位为数值的绝对值,这种方案称为“原码”表示法。例如:
  +20的原码:0 000 0000 0001 0100
  -20的原码: 1 000 0000 0001 0100
二、反码表示法
  除了符号为以外,负数的反码表示是在原码的基础上其他二进制取反,而正数的反码表示与原码相同。如:
  +20的反码为: 0 000 0000 0001 0100
  -20的反码为:  1 111 1111 1110 1011
三、补码表示法
  负数的补码表示是在反码基础上加1,而正数的反码表示与原码相同。


  原码、反码和补码是由于表示负数的三种方案,三种方案中,原码最适合与乘除类运算,补码适合于加减类运算,而反码则加减与乘除都不是很理想,由于加减运算的频率远高于乘除运算,所以多数计算机系统采用的是补码方案。
  所以所有计算机的加减运算都要将相应的数转换成补码,然后再进行运算

4 个回复

倒序浏览
支持下~~
回复 使用道具 举报

感谢
回复 使用道具 举报
学习了~
回复 使用道具 举报
沙睿 来自手机 中级黑马 2015-7-2 18:12:20
报纸
学习了!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马