计算机运算基础二数的补码表示法

文章作者 100test 发表时间 2007:03:10 17:50:51
来源 100Test.Com百考试题网


二、 数的补码表示法

数的正负号用 0和1表示,使正负号和数值全部数字化了。既然如此,能否将正负号和数值放在一起进行运算,而不因正负号的不同分别处理呢?为此,提出计算机数的补码表示法。数据的这种表示形式大大地简化了运算的处理过程。

那么什么是补码呢?我们先看一个例子,假定现在时钟上的读数是 10点钟,问4小时之前是几点钟?即时钟上的读数是什么。答案是显而易见的,为:10 - 4 = 10 (- 4)= 6(点)。但是,这完全可以换一种算法得到同样的结果:10 8 = 18(点)。显然,18(点)在时钟刻度盘上的读数是6(点)。常识告诉我们,时钟最大只能表示到12,超过12时就把12丢掉,再从0开始,即到达12时又复位为0 。上式中的8是 12 - 4的结果;也即4是相对于12 的"补数"。因此,上式可表示为取模运算: 10 - 4 = (10 8 )Mod (12) = 6 。

( 1)数的原码表示:原码是最简单的计算机数表示法。

对正数,符号位 = 0 ,数值位 = 数的绝对值。 0100101 的原码为:00100101

对负数,符号位 = 1 ,数值位 = 数的绝对值。

- 0100101 的原码为:10100101

- 10100101=10000000( 2 7 ) - (- 0100101) = 100000000 0100101 = 10100101

原码的生成公式为:


( 2)数的反码表示:

对正数:同原码表示 。如, 0100101 表示为00100101。

对负数,先将其表示为绝对值(正数)的原码,然后将每一位的数变反,即 0变为1,1变为0 。如,- 0100101 的反码是:先表示为00100101 ,取反后为11011010。这个结果恰相当于计算11111111 ( 2 8 - 1 ) (- 00100101) = 11111111 - 00100101 = 11011010。

反码的生成公式为:


( 3)数的补码表示

对正数,同原码表示 。如, 0100101 表示为00100101。对负数,先将其表示为反码,然后在该反码的最低位加“1”,即得到它的补码 。

如, - 0100101 先将其表示为反码为11011010 ,再在最低位加“1”得补码为11011011。这个结果恰相当于计算

100000000( 2 8 ) (-00100101) = 11011011

补码的生成公式为:



相关文章


SQLServer的两个维护技巧
计算机逻辑基础一逻辑代数的基本概念
计算机运算基础三补码的运算法则
计算机运算基础二数的补码表示法
网上快速发布你的FOXPRO数据库
计算机运算基础一计算机内数的表示特点
计算机一级:Excel实用技巧九则
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛