以现实生活中的形象例子“时钟”为例,引入了补码的基本概念
软件时空
您的论文得到相关企业家品评
计算机补码概念剖析
AnalysisingComplementaryCodeoftheComputer
(1.临沂师范学院;2.临沂市职业技能学校)
张德伟
1
沈培锋
2
张德珍
1
吕月娥
1
Zhang,DeweiShen,PeifengZhang,DezhenLv,Yue′e
摘要:以现实生活中的形象例子“钟表”为例,引入了补码的
基本概念,并从多个角度剖析了计算机中的补码概念。补码的主要用途本质上是要把负数转化为正数,把减法运算转化为加法运算,从而提高计算机的运行速度。本文从多个角度帮助读者解决了几个容易迷惑不清的问题。关键词:补码;模;原码;字长
文献标识码:A中图分类号:TP322
文章编号:1008-0570(2005)10-3-0177-02
通过这个现实生活中的简单例子,我们可以得出一个什么结论呢?无非就是在定义了“模”的前提下,可把负数转化为正数,再深入一步就是可把减法转化为加法。上例中当模取为12时,-9=-9+12=+3(MOD=12),所以3-9=3-9+12=3+3,即减法转化成加法。用一般公式可表示为:a-b=a-b+MOD=a+(MOD-b)。下面就可以引入计算机中“补码”的定义了,若X为计算机中一个机器数真值,则[X]补=2n+X(其中2n为模,n为字长,字长是指包括符号位在内的二进制位数,此处仅以整数加以说明)。请看下面举例:
Abstract:Throughtheimaginaryexampleclock,thepaperintro-ducestheconceptofcomplementarycode.Italsoanalysisescomplementarycodeofthecomputermanysided.Infact,com-plementarycode'smainuseischangingtheminusintoplus.Intheend,itcanturnsubtrationintoadditionandenhancecomputer'svelocity.Thepaperhelpsreaderssolveseveralproblemswhichmakethempuzzle.
Keywords:ComplementaryCode;Mod;OriginalCode;lengthofthewords
引言
补码概念是计算机领域中所特有的一个概念,但又是一个比较难以理解的概念,很多人对它的引入和用途理解不清,本文通过一些形象的例子,从几个方面帮助读者真正解除迷惑,理解补码的内涵。
(1)若X=+1011,则[X]补=2n+X=25+1011=100000+1011=0,1011
,最高位的1溢出)(逗号只是为了突出符号位“0“
(2)若X=-1011,则[X]补=2n+X=25-1011=10000-01011=1,0101
(逗号也只是突出符号位“)1”
(3)若X=+0000,则[X]补=2n+X=25+0000=0,0000(最高位的1溢出)
(4)若X=+0000,则[X]补=2n+X=25-0000=0,0000(最高位的1溢出)
通过以上四个例子可以得出三个重要结论:
技术创新
1补码概念的引入
在介绍补码概念之前,先给大家举个类似补码的形象例子,或许看完这个例子,会让你感觉补码不再陌生、神秘。
如图一所示,此时钟表指示为三点整
,因为表针做顺时针方向转动
,一般假设顺时针方向为正,则易知此时钟表指示为+3。那么大家考虑:若表针按逆时针方向转动,时针需走多少格可以走到图示3点整位
置?很简单,数数便知:9个格!所以
不妨可记为-9(因为方向为逆时针,理所应当取为负)。此时可列出一个等式,即-9=+3。当然这是在钟表一周刻度为12的前提下得出的结论。其实这就相当于-9=-9+12=+3,其中12可以叫做计算机中的术语模”“(MOD)。张德伟:讲师
电话:010-62132436,62192616(T/F)
(1)求正数的补码很简单,只须在机器数前添个符
号位“即可;0”
(2)负数的补码用定义求比较复杂,需要做一次减法运算,后面将介绍更为简捷的方法;
(3)正零和负零的补码形式是一致的,即零的补码具有惟一性。
2快捷法求负数补码
在此要重申的是“负数的补码”。用定义法求负数的补码比较复杂,下面介绍一种简捷快速的求法,即找出机器数真值中最末一个1,该1及其右边的0不变,而其前面各位取反即得,当然不要忘了前面添上符号位“。根据上述快速求补1”码的方法很容易求出-10110的补码为1,01010。如图二所示。
通过以上分析不难看出,正数和零的补码与其真值数值是相同的,只不过前面添个符号位
而已;而负数的补码则发生了较大的变化,数值部“0”
分不再与真值相同。
中国自控网:http://www.autocontrol.cn