一补数与二补数由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“苏教版数补二年级答案”。
一补数与二补数(1's Complement and 2's Complement)二补数(2's complement):是一种用二进位表示有号数的方法,也是一种将数字的正负号变号的方式,常
在计算机科学中使用。
一个数字的二补数就是将该数字作位元反向运算(即一补数),再将结果加 1,即为该数字的二补数。
在二补数系统中,一个负数就是用其对应正数的二补数来表示。
优点:二补数系统的最大优点是可以在加法或减法处理中,不需因为数字的正负而使用不同的计算方式。
只要一种加法电路就可以处理各种有号数加法,而且减法可以用一 个数加上另一个数的二补数来表示,因此只要有加法电路及二补数电路即可完成各种有号数加法及减法,在电路设计上相当方便。
特点:二补数系统的 0 只有一个表示方式,这点和一补数系统不同(在一补数系统中,0 有二种表示方式),因此在判断数字是否为 0 时,只较比对一个不同的条件即可。
补数和负数
再转载一篇“补数和负数”,将知识整理补充全面。转自:【The Life, The Code】
补数表示法
1.补数的意义:在计算机执行算术运算时,对于减法运算,为求简化电路的设计起见,均使用补数(Complement)的原理,使减法运算利用补数及加法运算来取代。
2.补数的定义:对任一以 b 为基底(Base, Radix)的非负数 N,存在有二种补数表示法,即 b's 补
数及(b-1)'s 补数,兹分述于下:
a.b's 补数定义
若 N 为一以 b 为基底的非负数,设其整数部份含有 n 位元,小数部份含有 m 位元,则 N 的b's 补数定义为
b31.4 =(100)9b9(0.1)9-(31.4)9 =(57.4)9
c.根据上述定义,任何补数均可求得,惟需代公式求算嫌繁琐;因此一般均有较速简易的求补数方法,兹分述如下:
(i)(b-1)'s 补数求法
将每一位元以(b-1)减去其值,即可得(b-1)'s 补数。
(ii)b's 补数求法
将(b-1)'s 补数之最小一位加 1 即可得 b's 补数。
n
-mb's的补数值=(b-1)'s补数值+(最小位加1)
注:二进位数值求 1 的补数,只要将原来数值中位元为 1 的改为 0,位元为 0 的改为
1,便可得 1 的补数,至于 2 的补数则只需将 1 的补数值的最小位加 1 即可。
范例:计算二位数之 1's 补数及 2's 补数
(1)1010101(2)10000
注:常考题:求二进位的一补数(1's complement)或二补数(2's complement)
负数表示法
假设有一正数X其在二进位数字系统中表示如下:
X=0Xn-2Xn-3......X1X0
其中符号位元 0 代表此值为正数,Xn-2Xn-3......X1X0表示此正数在计算机中的二进位值。
注:正数衹有上述一种唯一的表示法。
在计算机中,常见的负整数表示法有以下三种
(1)符号大小值法(Sign Magnitude)
(2)一补数法(1's complement)
(3)二补数法(2's complement),兹分述于下:
(1)符号大小值法:
-X=1Xn-2Xn-3......X1X0
其中符号位元 1 代表此数为负数,此种表示法正数与负数之间衹有符号位元不同。
(2)一补数法
此法是将二进位值(包含符号位元)取一补数。
-X=1X'n-2X'n-3......X'1X'0
(3)二补数法
此法是将二进位值(包含符号位元)取二补数。
-X=1X'n-2X'n-3......X'1X'0 + 00.....001
注:符号大小值法及一补数法有 +0 与-0 的区别,而二补数法没有区别。