Chinaunix首页 | 论坛 | 博客
  • 博客访问: 241342
  • 博文数量: 21
  • 博客积分: 493
  • 博客等级: 下士
  • 技术积分: 308
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-05 12:21
文章分类

全部博文(21)

文章存档

2013年(1)

2012年(20)

分类: LINUX

2012-10-19 19:55:58

原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。
在原码表示法中,对0有两种表示形式:

          [+0]原=00000000

           [-0]原=10000000


补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。

在补码表示法中,0只有一种表示形式

        [+0]补=00000000

        [-0]补=11111111+1=00000000(由于受设备字长的限制,最后的进位丢失)

所以有[+0]补=[-0]补=00000000

反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。


对于机器数为正数,则[X]原=[X]补


     对于机器数为负数,则有[X]原=[[X]补]补

对一个正数的补码表示按位求反后再在末位加1,可以得到与此正数相应的负数的补码表示。
 
即:
阅读(1819) | 评论(0) | 转发(0) |
0

上一篇:8086/8088寄存器组

下一篇:RAID完全配置文档

给主人留下些什么吧!~~