- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
原码补码反码
原码 补码 反码 移码 正数:原码、反码和补码表示都相同 负数:原码、反码和补码表示不同 3.2.1 原码表示法 原码表示法用“0”表示正号,用“1”表示负号,数值位用真值的绝对值表示。 整数的符号位与数值位之间用逗号“,”隔开; 小数的符号位与数值位之间用小数点“.”隔开。 4.定点整数原码的表示范围 例1:若二进制的位数分别是8,其原码表示的最大值、最小值及表示数的个数为: 注意:最高位为符号位,有效数值位分别为7。 ● 原码特点 表示简单,易于同真值之间进行转换 进行加减运算十分麻烦,本来是加法运算却可能要用减法器实现。 当两个操作数符号不同且做加法运算时,先要判断两个数绝对值的大小,然后将绝对值大的数减去绝对值小的数,结果的符号以绝对值大的数为准。 0的表示不惟一 3.2.2 补码表示法 以钟表对时为例说明补码的概念 假设现在的标准时间是3点整,而有一只表已经6点了,为了校准时间,可以采用两种方法: (1)逆时针:将时钟退3格 (2)顺时针:将时钟向前拨9格 这两种方法都能对准到3点。由此可以看出,减3和加9是等价的。就是说9是(-3)对12的补码,可以用数学公式表示为: -3=+9 (mod 12) (“=”为取模相等) 这里12是模数。 上例中6-3和6+9之所以等价,是因为表指针超过12时,将12自动丢掉,最后得到(6+9)-12=3。 重要启示:负数用补码表示时,可以把减法转化为加法。 1.补码的概念 模:计量器具的容量,或称为模数。 N位字长整数的模值为2N 4位字长的机器表示的二进制整数为: 0000~1111 共16种状态,模为16=24 。 一位符号位的纯小数的模值为2 补码的定义:正数的补码就是正数的本身,负数的补码是原负数加上模。 4. -1的补码 设补码的有效数值位为n (1) 根据定义,对于整数补码有:[-1]补=2n+1-1=1,11111...1 (包括符号位一共n+1个1) 根据定义,对于小数补码有:[-1]补=2+(-1.0…0)=1.0...0 (n个0) 由此可见, “-1”既可以在整数范围内表示,也能在小数范围内表示,在计算机中有两种不同的补码表示。 (2) 再看负数-2n的补码表示 {-2n}补=2n+1-2n=2n-1=1,0...0(n个0) 因此,“-1”的补码小数表示与“-2n”的补码表示结构相同,都是:符号位为1,数值部分为n个0。 5.原码与补码之间的转换 正数的原码和补码显然一致。 对于负数:设 n = 4, x = -x1x2x3x4 [x]补 = 2n+1+x = 10,0000 - x1x2x3x4 =11111+00001 -x1x2x3x4 符号位除外,每位取反,末位加1。 对小数原码也同样成立。反过来,由补码求原码也同样成立。 原码?--?补码 正数 [X]补=[X]原 负数 符号位除外,每位取反,末位加1 例:X= -1001001 求[X]补 [X]原=1,1001001, [X]补=1,0110110+1=1,0110111 [X]补= 27+1 +X=100000000 1,0110111 10 0 0 0 0 0 0 0 - 0 1 0 0 1 0 0 1 1,0 1 1 0 1 1 1 2.定点整数反码的定义 X 2n X ≥ 0 [X]反= (2n+1 -1)+X 0 ≥ X -2n (mod (2n+1 -1)) 例:X1=+1011011, [X1] 反 =0,1011011 X2= -1011011, [X2] 反 =1,0100100 1 1 1 1 1 1 1 1 — 1 0 1 1 0 1 1 1 0 1 0 0 1 0 0 0的补码表示是: [+0]反 [-0]反 结论: 正数:反码与原码相同, 负数:对原码,符号位不变,其余各位取反 码制表示法小结 [X]原、[X]反 、[X]补用“0”表示正号,用“1”表示负号; [X]移用“1”表示正号,用“0”表示负号。 如果X为正数,则[X]原=[X]反=[X]补。
文档评论(0)