Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140632
  • 博文数量: 45
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 495
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-21 20:14
文章分类
文章存档

2012年(2)

2007年(43)

我的朋友
最近访客

分类:

2007-10-07 21:54:19

§ 1、4 数的原码、反码及补码

   我们知道在生活中,数是有正负之分,在数字设备中是怎样表示数的正负符号呢?

一:数的表示形式
 在生活中表示数的时候一般都是把正数前面加一个“+”,负数前面加一个“-”,但是在数字设备中,机器是不认识这些的,我们就把“+”用“0”表示,“-”用“1”表示。原码、反码和补码。这三种形式是怎样表示的呢?如下所示:

真值 原码 反码 补码

例1:求+12和-12八位原码、反码、补码形式
它们的原码分别为[+12]=00001100[-12]=100011      
它们的反码分别为[+12]*=00001100
[-12]*=(28-1)+(-1100)=11110011 
它们的补码分别为[+12]**=00001100
[-12]**=28+(-1100)=11110100

正数 +X 0X 0X 0X
负数 -X 1X (2n-1)+X 2n+X

二:原码、反码及补码的算术运算
因为这三种数码表示法的形成规则不同,所以算术运算方法也不相同。

原码与我们的日常中算术运算相同。
反码先转换为反码形式,再进行加减运算。它的减法可以按A+[-B]的形式进行.
补码先转换为补码形式,再进行加减运算,其减法可以按A+[-B]进行.

三:溢出及补码运算中溢出的判断
 
溢出可以描述为运算结果大于数字设备的表示范围。这种现象应当作故障处理。
   判断溢出是根据最高位的进位来判断的。


 

 
 

 

 


 

 

 


 


 

 

阅读(1512) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~