




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1补码补码反码反码原码原码真值真值000000000011111000001000001.01011.01001.1011-0.10110.10110.10110.10110.1011101011010011011-10110101101011010111011形式相同形式相同形式相近形式相近, ,多了个多了个0 0补码零的补码零的表示唯一表示唯一21.2 1.2 带符号数的代码表示带符号数的代码表示n 真值与机器数真值与机器数n 原码、反码和补码原码、反码和补码n 机器数的加、减运算机器数的加、减运算n 十进制数的补数十进制数的补数3数有正负问题,计算机中数有正负问题,计算机中如何表示带符号
2、的数?如何表示带符号的数?1.2 1.2 带符号数的代码表示带符号数的代码表示4真值:真值:直接用直接用“ “ ” “” “”符号表示的带符号数。符号表示的带符号数。机器不认识,不能在机器中使用。机器不认识,不能在机器中使用。5数的符号 正数:+(或省略) 负数:- 数的符号位:数的最高位 数的符号在r进制数中的表示 正数:0 负数:r-1 数的符号在二进制数中的表示 正数:0 负数:16= (+ 1011011)2( 9 1)10 =( 1011011)2 真值机器只能认识二进制数,因此数的正与负必须用二进制数来表示。用0和1两个代码表示正和负,并规定一个数的最高位为符号位。从而得到机器数。
3、真值例 如,( + 9 1)109 1=64+16+8+2+17机器数机器数:将符号数值化后的二进制数。机器能认识。例如:+ 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 真值机器数符号位数值 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 8n符号二进制代码化。符号二进制代码化。n编码直观、方便编码。编码直观、方便编码。n方便处理(运算)。方便处理(运算)。nN=1+N-1N=1+N-1符号二进制编码遵循的原则符号二进制编码遵循的原则 9(Sign Magnitude Numbers) 原码表示法用原码表示法用“0”0”表示正号,用表示正号,用“1”1”表示负号,有
4、效值部分用二进制的绝对值表示负号,有效值部分用二进制的绝对值表示。表示。10小数: X 1- 2-(n-1) X0 X原 = 1-X=1+|X| 0X-(1-2-(n-1) )11例例 完成下列数的真值到原码的转换完成下列数的真值到原码的转换X X1 1 = + 0.1011011 = + 0.1011011 X X2 2 = - 0.1011011 = - 0.1011011 12原码小数的表示范围原码小数的表示范围: :n+0+0原原 =0.0000000 ; =0.0000000 ; -0 -0原原 =1.0000000 =1.0000000 n最大值最大值 : 1- 2 : 1- 2-
5、(n-1) -(n-1) n最小值最小值:-(1- 2:-(1- 2-(n-1)-(n-1) )n表示数的个数表示数的个数: 2: 2n n - - 1 113若二进制原码小数的位数分别是若二进制原码小数的位数分别是8 8、1616位位, ,求其该数表示的最大值、最小值及求其该数表示的最大值、最小值及所能表示数的个数?所能表示数的个数?8 8位位: 127/128: 127/128,-127/128-127/128,2552551616位位: 32767/32768 , -32767/32768 , 65535: 32767/32768 , -32767/32768 , 6553514整数:
6、X 2n-1-1X0 X原 = 2n-1-X=2n-1+|X| 0X-(2n-1-1)15例例 完成下列数的真值到原码的转换。完成下列数的真值到原码的转换。X X1 1 = + 1011011 = + 1011011 X X2 2 = - 1011011 = - 1011011 16N = + 1 1 0 1 0 0 1 N原 = 0 1 1 0 1 0 0 1 N = 1 1 0 1 0 0 1 N原 = 1 1 1 0 1 0 0 1 N = + 0+ 0原 = 0 0 0 0 0 0 0 0 N = 0 0原 = 1 0 0 0 0 0 0 0 17原码整数的表示范围原码整数的表示范围:
7、 :n+0+0原原 =00000000 ; -0=00000000 ; -0原原 =10000000 =10000000 n最大值最大值 : 2: 2(n-1)(n-1)-1-1n最小值最小值:-(2:-(2-(n-1)-(n-1)-1)-1)n表示数的个数表示数的个数: 2: 2n n - - 1 118若二进制的位数分别是若二进制的位数分别是8 8、16,16,求其表示求其表示整数的最大值、最小值及表示数的个数。整数的最大值、最小值及表示数的个数。8 8位位: 127: 127,-127-127,2552551616位位: 32767 , -32767 , 65535: 32767 , -
8、32767 , 6553519原码特点:原码特点:n表示简单,易于同真值之间进行转表示简单,易于同真值之间进行转换,实现乘除运算规则简单。换,实现乘除运算规则简单。n进行加减运算时,符号位与数值位进行加减运算时,符号位与数值位分别计算,不方便。分别计算,不方便。20Diminished Radix Complement 正数的表示与原、补码相同,正数的表示与原、补码相同,负数的补码符号位为负数的补码符号位为1 1,数值位是,数值位是将原码的数值按位取反,就得到该将原码的数值按位取反,就得到该数的反码表示。数的反码表示。21小数: X 1 X 0X反= (2- 2-(n-1) )+X 0 X -
9、(1-2-(n-1)X1=+0.1011011 , X1 反 =0.1011011X2= -0.1011011 , X2 反 =1.0100100 1. 1 1 1 1 1 1 1 -0. 1 0 1 1 0 1 1 1. 0 1 0 0 1 0 0 22整数整数: X 2n-1 X 0 X反= (2n -1)+X 0 X -2n-1 X3=+1011011 , X3 反 =01011011 X4= -1011011 , X4 反 =10100100 1 1 1 1 1 1 1 1- 1 0 1 1 0 1 1 1 0 1 0 0 1 0 0 +0反=00000000 ; -0反 =11111
10、11123反码所表示的数值范围:(以8位为例)正数: + N反 = 0 0000000 0 1111111即:0 127负数: N反 = 1 0000000 1 1111111即:127 024总结:反码的特点总结:反码的特点正数与负数的反码完全不同。正数与负数的反码完全不同。 “ 0” 的反码有两种不同的形式。的反码有两种不同的形式。+ N反 = + N原 N反 = 1 N 原+ 0 反 = 0 0 0 0 0 0反= 1 1 1 1 125正数与负数的补码是完全不同的。规则:+ N补 = + N原 N补 = N反 1(符号位参与计算)二进制的补(twos complements) 26 模
11、模:计量器具的容量,或称为模数。:计量器具的容量,或称为模数。4 4位字长的机器表示的二进制整数为:位字长的机器表示的二进制整数为: 0000-1111 0000-1111 共共1616种状态,模为种状态,模为16= 16= 2 24 4 。 整数整数N N位字长的模值为位字长的模值为 2 2n n,一位符,一位符号位的纯小数的模值为号位的纯小数的模值为2 2。 补码补码的定义:正数的补码就是正数的定义:正数的补码就是正数的本身,负数的补码是原负数加上模。的本身,负数的补码是原负数加上模。Radix Complements27小数: X 1- 2-(n-1) X0 x补= 2+X=2-|X|
12、0X-1 28例例 完成下列数的真值到补码的转换。完成下列数的真值到补码的转换。X X1 1 = + 0.1011011 = + 0.1011011 X X2 2 = - 0.1011011 = - 0.1011011 29整数: X 2(n-1) -1 X0 x补= 2n+X=2n-|X| 0X- 2(n-1)30例例 完成下列数的真值到补码的转换。完成下列数的真值到补码的转换。X X1 1 = + 0 1011011 = + 0 1011011 X X2 2 = - 0 1011011 = - 0 1011011 31补码的表示范围补码的表示范围:nN N位纯整数位纯整数: 2: 2n-1
13、 n-1 1 -21 -2n-1 n-1 nN N位纯小数位纯小数: 1- 2: 1- 2-(n-1) -(n-1) - 1 - 1 n均能表示均能表示 2 2n n 个数个数32+ 4补 = + 0000100补 = 0 0000100符号位数值位 4补 = 0000100补 = 1 1111011 + 1 = 1 11111004反+ 0补 = + 0000000补 = 0 0000000 0补 = 0000000补 = 1 1111111 + 1 = 0 0000000例:(以8位二进制数为例)331 将十进制数转换成二进制数。将十进制数转换成二进制数。D = - (1101)*2 -6
14、= - 0.0011012 对二进制数求补。对二进制数求补。D补补=1.11001134总结:补码的特点总结:补码的特点正数和负数的补码是不同的。正数和负数的补码是不同的。+ N补 + N原 N补 N反 135真值真值原码原码反码反码补码补码-11010010100110100110100110100111111机器数与真值间的互换机器数与真值间的互换求补码的经验法求补码的经验法36常例:钟表校时欲将钟表时间从10点拨到6点。121111087611108723459+ 8437两种拨法:倒拨4小时,即 104 = 6顺拨8小时,即 10 + 8 = 12 + 6自然丢失12是钟表的最大数(或
15、最大量程),称该钟表系统的模,系统的数字超过此数则模自然丢失。这样利用模的自然丢失,将减法变成加法。即38 定点补码加法运算规则:定点补码加法运算规则: X+YX+Y补补 =X=X补补+Y+Y补补在模数系统下,任意两数的补码之在模数系统下,任意两数的补码之和等于该两数之和的补码。和等于该两数之和的补码。39nX=44=32+8+4X=44=32+8+4例:已知机器字长例:已知机器字长n=8n=8,X=44X=44,Y=53Y=53,求求X+Y=X+Y=?100000+1000+100100000+1000+100=101100=1011000 01011001011008=7+1符号位为00
16、0X补=0010110040nY=53=32+16+4+1Y=53=32+16+4+1例:已知机器字长例:已知机器字长n=8n=8,X=44X=44,Y=53Y=53,求求X+Y=X+Y=?100000+10000+100+1100000+10000+100+1=110101=1101010 01101011101018=7+1符号位为00 0Y补=0011010141例:已知机器字长例:已知机器字长n=8n=8,X=-44X=-44, Y=-53Y=-53,求,求X+Y=X+Y=?解:解:4444补补=00101100, 53=00101100, 53补补=00110101=00110101
17、XX补补=-44=-44补补=11010100,=11010100,YY补补=-53=-53补补=11001011,=11001011, X X补补 = 1 1 0 1 0 1 0 0= 1 1 0 1 0 1 0 0 + Y + Y补补 = 1 1 0 0 1 0 1 1= 1 1 0 0 1 0 1 1 X+Y X+Y补补 = = 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 超出超出8 8位,舍弃模位,舍弃模值值 X+Y=-01100001X+Y=-01100001,X+Y=X+Y=( -97-97)42n在没有溢出的情况下:在没有溢出的情况下: X+YX+Y补
18、补 =X=X补补+Y+Y补。补。符号位与数值位一起直接参加运算。符号位与数值位一起直接参加运算。符号位产生的进位位为模可以丢掉。符号位产生的进位位为模可以丢掉。43二、定点补码减法二、定点补码减法 定点补码减法运算规则定点补码减法运算规则: : X-Y X-Y补补=X=X补补+-Y+-Y补补 从从Y Y补补求求-Y-Y补补的法则是:对的法则是:对Y Y补补带符号位带符号位一起求补。一起求补。44例:已知机器字长例:已知机器字长n=8n=8,X=44X=44,Y=53Y=53,求,求X-Y=X-Y=?解:解:XX补补=00101100=00101100,YY补补=00110101,=001101
19、01, -Y -Y补补=11001011=11001011 X X补补 = 0 0 1 0 1 1 0 0= 0 0 1 0 1 1 0 0 -Y -Y补补= 1 1 0 0 1 0 1 1= 1 1 0 0 1 0 1 1 + + 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 X-YX-Y补补=11110111=11110111,X-Y=X-Y=(-0001001-0001001)2 2= =(-9-9)101045例:已知机器字长例:已知机器字长n=8n=8,X=-44X=-44, Y=-53Y=-53,求,求X-Y=X-Y=?解:解:XX补补=11010100=1101
20、0100,YY补补=11001011,=11001011, -Y -Y补补=00110101=00110101 X X补补= 1 1 0 1 0 1 0 0= 1 1 0 1 0 1 0 0 -Y -Y补补 = 0 0 1 1 0 1 0 1= 0 0 1 1 0 1 0 1 + + 超出超出8 8位(模值),舍弃位(模值),舍弃X-YX-Y补补=00001001=00001001,X-Y=+0001001 =(+9)X-Y=+0001001 =(+9)1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 146解:解:XX补补=01111000=01111000,YY补补=00
21、001010,=00001010, X X补补= 0 1 1 1 1 0 0 0= 0 1 1 1 1 0 0 0 Y Y补补 = 0 0 0 0 1 0 1 0= 0 0 0 0 1 0 1 0例:已知机器字长例:已知机器字长n=8n=8,X= 120X= 120, Y=10Y=10,求,求X+Y=X+Y=? 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 X+Y X+Y补补=10000010=10000010 X+Y X+Y的真值的真值 ( -130)( -130)1010 8 8位计算机数值表达范围:位计算机数值表达范围:(-128 (-128 +127)+127)运算结
22、果超出机器数值范围发生运算结果超出机器数值范围发生溢出溢出错误。错误。+ +47补码运算特点:补码运算特点:在无溢础的情况下,符号位与数值在无溢础的情况下,符号位与数值位一同直接参加运算。位一同直接参加运算。直接丢模(符号位的进位位)。直接丢模(符号位的进位位)。补码可将减法变加法进行运算。补码可将减法变加法进行运算。已知已知Y Y补,补,求(求(-Y-Y)补补的方法为连符号的方法为连符号位一起直接求补。位一起直接求补。48指出:由于采用补码可把减法化成加法,因此,机器中的+、运算,均归结为一种加法运算,从而使计算机的硬软结构非常简单。为此,机器中带符号的数,无论是正数或负数均采用补码形式,而
23、运算的结果也是补码形式。491.2.6 1.2.6 十进制数的补数十进制数的补数 带符号十进制数也有三种表示方带符号十进制数也有三种表示方法,它们分别法,它们分别: :符号符号- -数值表示、数值表示、 “ “对对9 9的补数的补数”及及“对对1010的补数的补数”。50符号符号- -数值表示数值表示 习惯上用习惯上用00000000(等效于十进制数(等效于十进制数0 0)表示正,而用)表示正,而用10011001(相当于(相当于十进制数十进制数9 9)表示负。)表示负。 +9 00001001+9 00001001 -9 10011001-9 1001100151对于十进制正数对于十进制正数
24、N N,它的,它的“对对1010的补数的补数”的表示形式是:符号位用的表示形式是:符号位用0 0表示,数值部分表示,数值部分则是十进制数则是十进制数N N本身。本身。对于十进制负数对于十进制负数N N,它的,它的“对对1010的补数的补数”的一般形式为:的一般形式为: N N1010补补10 10 n nN N 10 10 n n1 1N N0 0其中,其中,n n是十进制负数是十进制负数N N的整数部分的位数的整数部分的位数(包括(包括1 1位符号位)。位符号位)。 对对1010的补数的补数52例如,十进制数例如,十进制数N N32503250,其,其“对对1010的补数的补数”为为3250
25、32501010补补10 10 5 5325032509675096750 由此可见,只要由此可见,只要用用1010减最低位非减最低位非0 0的数,然后的数,然后用用9 9减所有较高位的数减所有较高位的数,就可以形成十进制数,就可以形成十进制数的的“对对1010的补数的补数”。53 十进制数十进制数“对对1010的补数的补数”的减法运的减法运算和二进制数的补码的减法运算相似,算和二进制数的补码的减法运算相似,可将减法转换成加法来实现。可将减法转换成加法来实现。54 0 7 2 5 3 2 )9 9 6 7 5 0 丢掉1 0 6 9 2 8 2 符号位产生的进位必须丢掉。运算结果是“对10的补
26、数”,即 N1N210补069282其真值为 N1N269282 。 例:给定例:给定N1N2N20325003250,求,求N NN1N1N2N2。 解:用解:用“对对1010的补数的补数”进行运算,即进行运算,即 N1N1N2N21010补补7253725303250032501010补补 72532725321010补补03250032501010补补 07253207253299675099675055对对9 9的补数的补数 十进制数的十进制数的“对对9 9的补数的补数”与二进制数的反码类似。与二进制数的反码类似。 对于十进制正数对于十进制正数N N,它的,它
27、的“对对9 9的补数的补数”的表示形式与的表示形式与N N的的“对对1010的补数的补数”的表示形式相同。的表示形式相同。 对于十进制负数对于十进制负数N N,它的,它的“对对9 9的补数的补数”的一般表的一般表示形式为示形式为 N N9 9补补1010n n1010m mN N 10 10 n n1 1N N0 0 其中,其中,n n是十进制负数是十进制负数N N的整数部分的位数(包括的整数部分的位数(包括1 1位符号位);位符号位); m m是十进制负数是十进制负数N N的小数部分的位数。的小数部分的位数。56二、 例如,十进制数例如,十进制数N N25.63925.639,N N的的“对
28、对9 9的补数的补数”为为 25.63925.6399 9补补10103 310103 325.63925.639 974.360974.360 由此可见,只要由此可见,只要分别用分别用9 9减十进制数减十进制数的各位就可得到的各位就可得到这个数的这个数的“对对9 9的补数的补数“。 十进制数的十进制数的“对对9 9的补数的补数”的减法运算同二进制数的的减法运算同二进制数的反码运算相类似,即将减法转换成加法来实现。反码运算相类似,即将减法转换成加法来实现。57例:若给定N15489和N23250,试求NN1N2。解:用“对9的补数”进行运算,即 N1N29补548932509补 54899补3
29、2509补 05489967490 5 4 8 9 )9 6 7 4 9 1 0 2 2 3 8 )10 2 2 3 9符号位产生的进位需加在和数的最低位上。运算的结果是“对9的补数”,即 N1N29补02239其真值为 N1N2223958X X1 1 = = + + 1101101 1101101X X2 2 = = - - 数值数据的表示数值数据的表示一、一、真值真值与与机器数机器数二、二、带符号二进制数的代码表示带符号二进制数的代码表示1. 1. 原码原码XX原:原:原码原码反码反码补码补码变形补码变形补码尾数部分的表示形式:尾数部分的表示形式:最高位:最高位:“0”“0”表示表示“+
30、”+”“1”“1”表示表示“-”-”符号位符号位+尾数部分(真值)尾数部分(真值)原码的性质:原码的性质: “0”“0”有两种表示形式有两种表示形式+00+0000原原 = 000= 0000 0 而而 -00-0000原原 = 100= 1000 0 数值范围:数值范围: + +(2 2n 1n 1-1-1)XX原原-(2 2n-1n-1-1-1)如如n = 8n = 8,原码范围,原码范围01111111011111111111111111111111,数值范围,数值范围为为+127+127-127-127 符号位后的尾数即为真值的数值符号位后的尾数即为真值的数值符号(符号(+/-+/-)
31、数码化)数码化 最高位:最高位:“0”“0”表示表示“+”+”“1”“1”表示表示“-”-”数符(数符(+/-+/-)+ +尾数尾数(数值的绝对值(数值的绝对值)59数值数据的表示数值数据的表示2. 2. 反码反码XX反:反:符号位符号位+尾数部分尾数部分 反码的性质反码的性质正数:尾数部分与真值形式相同正数:尾数部分与真值形式相同负数:尾数为真值数值部分按位取反负数:尾数为真值数值部分按位取反 X X1 1 = +4 = +4X X2 2 = -4 = -4XX1 1 反反 = = 0 0XX2 2 反反 = = 1 13、补码补码XX补:补:符号位符号位+尾数部分尾数部分正数:尾数部分与真
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业级数据共享的区块链技术发展趋势预测
- 严控废物合同范例
- 丰泽区 劳动合同样本
- 医疗数据安全与隐私保护的国际法规探讨
- 批评与自我批评发言稿模版
- 绿橙色可爱卡通食品安全模板
- 15天账期合同范例
- 从商业视角看如何利用区块链技术增强数据安全性
- 员工礼仪学习心得体会模版
- 厦门市2025 届高三毕业班第四次质量检测-化学+答案
- 《离散数学》试题带答案
- 高桩码头毕业设计浙江省苍南巴艚中心渔港工程样本
- 危险化学品无仓储经营单位生产安全事故应急救援预案(新导则版)
- 肾移植与术后感染
- 孕妇与乳母的饮食与睡眠质量
- 食品原料采购协议书
- 物品的交接单
- 2024年山东省春季高考技能考试汽车专业试题库-下(判断题汇总)
- 抖音团播行业报告
- 快递员与菜鸟驿站协议合同
- 城镇排水管道检测记录表、缺陷图图例、检测成果表、等级划分及样图
评论
0/150
提交评论