计算机中数据的表示方法.ppt
《计算机中数据的表示方法.ppt》由会员分享,可在线阅读,更多相关《计算机中数据的表示方法.ppt(92页珍藏版)》请在三一办公上搜索。
1、计算机组成原理,第三章 运算方法与运算部件,3.1 数据的表示方法和转换,3.1.1数值数据的表示法进位计数制及其转换一、进位计数制:用少量的数字符号(也称数码),按先后次序把它们排成数位,由低到高进行计数,计满进位,这样的方法称为进位计数制。基数:进位制的基本特征数,即所用到的数字符号个数。例如10进制:09 十个数码表示,基数为10。权:进位制中,处于某一位上的“1”所表示的数值的大小为该位的权。各种进位计数制中的权值恰好是基数的某次幂。常见的进位制:2,8,10,16进制。,1、十进制(Decimal),数码为:09;基数是10。Decimal:十进制运算规律:逢十进一,即:9110。十
2、进制数的权展开式:,103、102、101、100称为十进制的权。各数位的权是10的幂。,同样的数码在不同的数位上代表的数值不同。,任意一个十进制数都可以表示为各个数位上的数码与其对应的权的乘积之和,称权展开式。,即:(5555)D5103 510251015100,例如:一个十进制数143.75的表示,注:等式左边为并列表示法等式右边为多项式表示法,2、二进制(Binary),数码为:0、1;基数是2。Binary:二进制运算规律:逢二进一,即:1110。二进制数的权展开式:如:(101.01)B 122 0211200211 22(5.25)10,加法规则:0+0=0,0+1=1,1+0=
3、1,1+1=10乘法规则:00=0,0 1=0,1 0=0,1 1=1,运算规则,各数位的权是的幂,二进制数只有0和1两个数码,它的每一位都可以用电子元件来实现,且运算规则简单,相应的运算电路也容易实现。,例如:一个二进制数(1101.01)2的表示,3.二进制数的性质,移位性质:小数点右移一位,数值扩大一倍小数点左移一位,数值减小一半奇偶性质:最低位为0,偶数最低位为1,奇数,1.1,=20+2-1=1.5,11,=21+20=2(20+2-1)=3,0.11,0.75=2-1(20+2-1)=2-1+2-2=,4.二进制数的特点,优点:只有0,1两个数码,易于用物理器件表示。电位的高低,脉
4、冲的有无,电路通断等都比较容易区别,可靠性高。运算规则简单。二进制的0,1与逻辑命题中的真假相对应,为计算机中实现逻辑运算和逻辑判断提供有利条件。缺点:书写冗长,不易识别,不易发现错误,5、十六进制(Hexadecimal),数码为:09、AF;基数是16。Hexadecimal:十六进制运算规律:逢十六进一,即:F110。十六进制数的权展开式:如:(D8.A)H 13161 816010 161(216.625)10,各数位的权是16的幂,例如十六进制数(2A.7F)16的表示,6、八进制,数码为:07;基数是8。O:八进制运算规律:逢八进一,即:7110。八进制数的权展开式:如:(207.
5、04)8 282 0817800814 82(135.0625)10,各数位的权是8的幂,3.1.2进位计数制之间的转换,1、R进制转换成十进制的方法按权展开法:先写成多项式,然后计算十进制结果。N=dn-1dn-2 d1d0d-1d-2 d-m=dn-1 Rn-1+dn-2 Rn-2+d1 R1+d0 R0+d-1 R-1+d-2 R-2+d-m R-m,例如:写出(1101.0101)2,(237)8,(10D)16的十进制数。,(1101.0101)2=123+122+021+120+02-1+12-2+02-3+12-4=8+4+1+0.25+0.0625=13.3125(237)8=
6、282+381+780=128+24+7=159(10D)16=1162+13160=256+13=269,2、十进制转换成二进制方法,一般分为两个步骤:整数部分的转换除2取余法(基数除法)减权定位法小数部分的转换乘2取整法(基数乘法),除基取余法:把给定的十进制整数除以基数,取余数作为最低位的系数,然后继续将商部分除以基数,余数作为次低位系数,重复操作直至商为0。,(25)D=(11001)B,除基数得余数作系数从低位到高位,减权定位法:,将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置1,减去该权值后再往下比较,若不够减则对应位为0,重复操作直至差数为0。例:将(327)10
7、转换成二进制数512 256 128 64 32 16 8 4 2 1 0256327512327-256=71 171128 071-64=7 1732 0716 078 07-4=3 1 3-2=1 11-1=0 1,(327)10=(101000111)2,乘基取整法(小数部分的转换):把给定的十进制小数乘以2,取其整数作为二进制小数的第一位,然后取小数部分继续乘以2,将所得整数部分作为第二位小数,重复操作直至得到所需要的二进制小数。,0.8125,2,1.6250,2,1.2500,2,0.5000,取整,1,1,0,0.6250,0.2500,乘基数取整数作系数从高位到低位,若小数在
8、连乘多次后不为 0,一般按照精确度要求(如小数点后保留 n 位)得到 n 个对应位的系数即可。,2,1.0000,1,问题:(25.8125)10=(?)2,(1)二进制数转换为八进制数:将二进制数由小数点开始,整数部分向左,小数部分向右,每3位分成一组,不够3位补零,则每组二进制数便是一位八进制数。,3、其它进制之间的直接转换法,二进制数与八进制数的相互转换,1 1 0 1 0 1 0.0 1,0 0,0,(152.2)8,(2)八进制数转换为二进制数:将每位八进制数用3位二进制数表示。,=011 111 100.010 110,(374.26)8,二进制转换成八进制,例:(10110111
9、.01101)2,(10110111.01101)2=(267.32)8,八进制:2 6 7.3 2,二进制:010,110,111.011,010,二进制:10,110,111.011,01,八进制转换二进制,例如:(123.46)8=(001,010,011.100,110)2=(1010011.10011)2,二进制数与十六进制数的相互转换,1 1 1 0 1 0 1 0 0.0 1 1,0 0 0,0,(1D4.6)16,=1010 1111 0100.0111 0110,(AF4.76)16,二进制数与十六进制数的相互转换,按照每4位二进制数对应于一位十六进制数进行转换。,二进制转换
10、成十六进制,例:(110110111.01101)2,(10110111.01101)2=(1B7.68)16,十六进制:1 B 7.6 8,二进制:0001,1011,0111.0110,1000,二进制:1,1011,0111.0110,1,十六进制转换成二进制,例如:(7AC.DE)16=(0111,1010,1100.1101,1110)2=(11110101100.1101111)2,2、有权码和无权码,有权码表示一位十进制数的二进制码的每一位有确定的权。一般用8421码,其4个二进制码的权从高到低分别为8、4、2和1。用0000,0001,1001分别表示0,1,9,每个数位内部满
11、足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binary coded decimal,简称BCD)码”。,在计算机内部实现BCD码算术运算,要对运算结果进行修正,对加法运算的修正规则是:如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需要修正;如相加之和大于或等于(10)10,要进行加6修正,并向高位进位,进位可以在首次相加(例3.10)或修正时(例3.10)产生。,4+9=13 0 1 0 0+1 0 0 1 1 1 0 1+0 1 1 0 修正1 0 0 1 1 进位,例3.101+8=9 0 0 0 1+1 0 0 0 1 0 0
12、1不需要修正,另外几种有权码,如2421,5211,4311码(见表3.2),也是用4位二进制码表示一个十进制数位,但4位二进制码之间不符合二进制规则。这几种有权码有一特点,即任何两个相加之和等于(9)10的二进制码互为反码。例如,在2421码中,0(0000)与9(1111)、1(0001)与8(1110)、,互为反码。,表3.2 4位有权码,无权码表示一个十进制数位的二进制码的每一位没有确定的权。用得较多的是余3码(Excess-3 Code)和格雷码(Gray Code),格雷码又称“循环码”。余3码是在8421码基础上,把每个编码都加上0011而形成的(见表3.3),其运算规则是:当两
13、个余3码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位,本位加0011。例3.11(28)10+(55)10=(83)10,0 1 0 1 1 0 1 1(28)10+)1 0 0 0 11 0 0 0(55)101 1 1 0 0 0 1 1低位向高位产生进位,高位不产生进位-)0 0 1 1+)0 0 1 1 低位+3,高位-3 1 0 1 1 0 1 1 0格雷码的编码规则:任何两个相邻编码只有一个二进制位不同,而其余三个二进制位相同。其优点是从一个编码变到下一个相邻编码时,只有1位发生变化,用它构成计数器时可得到更好的译码波形。格雷码的编码方案有多种,表3.
14、3给出两组常用的编码值。,表3.3 4位无权码,3.数字串在计算机内的表示与存储,主要有两种形式:(1)字符形式。即一个字节存放一个十进制数位或符号位,存放的是09十个数字和正负号的ASCII编码值。(2)压缩的十进制数形式。用一个字节存放两个十进制数位,既节省了存储空间,又便于完成十进制数的算术运算。其值用BCD码或ASCII码的低4位表示。符号位也占半个字节并放在最低数字位之后,其值可从4位二进制码中的6种冗余状态中选用。,3.2.1数的编码与表示,数值范围:一种数据类型所能表示的最大值和最小值。数据精度:实数所能表示的有效数字位数。数值范围和数据精度均与使用多少位二进制位数以及编码方式有
15、关。计算机用数字表示正负,隐含规定小数点。采用“定点”、“浮点”两种表示形式。,3.2 带符号的二进制数据在计算机中的表示方法及加减法运算,1、真值和机器数真值:正、负号加某进制数绝对值的形式。如二进制真值;X=+1011 y=-1011机器数:在机器中使用的连同符号一起数码化表示的二进制数的形式。最高位是符号位,通常用“0”表示正号,用“1”表示负号。如:X=0 1011 y=1 10112、常用的几种码制表示法原码、反码、补码、移码,原码表示法用“0”表示正号,用“1”表示负号,有效值部分用二进制的绝对值表示。注:以下X=X0X1X2 Xn,字长的有效位数为n+1,(1)原码表示法,若定点
16、小数的原码形式为X0.X1X2XN,则原码表示的定义是,式中X原是机器数,X是真值,若定点整数的原码形式为X0X1X2XN,则原码表示的定义是,完成下列数的真值到原码的转换:X1=+0.1011011 X2=-0.1011011,X1原=0.1011011,X2 原=1.1011011,“.”只用于助记,在计算机中并无专用部件来表示,完成下列数的真值到原码的转换:X1=+1011011 X2=-1011011,X1 原=0 1011011,X2 原=1 1011011,原码整数中+0原=00000000;-0原=10000000表示范围:-(2n-1)+(2n-1),8位字长:-127+127
17、16位字长:-32767+32767,原码特点:,原码小数中+0原=0.0000000;-0原=1.0000000 表示范围:-(1-2-n)1-2-n,表示简单,易于同真值之间进行转换。进行加减运算十分麻烦,速度慢。表示0有两种形式。,8位字长:-127/128+127/12816位字长:-32767/32768+32767/32768,正数的表示与原码相同,负数的反码符号位为1,数值位是将原码的数值按位取反。,(2)反码表示法,若定点小数,反码表示的定义是,对定点整数,补码表示的定义是,小数:X1=+0.1011011,X1 反=0.1011011X2=-0.1011011,X2 反=1.
18、0100100,整数:X3=+1011011,X3 反=01011011X4=-1011011,X4 反=10100100+0反=0.0000000;-0反=1.1 1 1 1 1 1 1,反码运算是以2-2-n为模,所以,当最高位有进位而丢掉进位(即2)时,要在最低位+1。例3.21 X=0.1011,Y=-0.0100,则有:X反=0.1011,Y反=1.1011X+Y反=X反+Y反=0.1011+1.1011反=10.0110其中,最高位1丢掉,并要在最低位加1。所以得X+Y反=0.0111mod(2-2-4)。,例3.22 X=0.1011,Y=-0.1100,则有:X反=0.1011
19、,Y反=1.0011X+Y反=0.1011+1.0011反=1.1110(其真值为-0.0001),反码特点:0也有两种形式 反码表示正数时,与原码和补码的形式完全相同。表示负数时,其码值比补码小“1”。反码也同样适用于加减法运算,在加减法运算时,如产生模的溢出时,在最低位补“1”。,表示范围:对于n1位反码机器数X,它所能表示的数据范围为:定点整数:(2n1)X 2n1定点小数:(12-n)X 12-n,正数的补码与原码相同,负数的补码是将负数的反码末位加1。模:计量的范围,或称为模数,超出模数即溢出被丢掉。N位字长的整数(包括1位符号位)模值为 2N N位字长的纯小数(包括1位符号位)的模
20、值为2 例:4位字长的机器表示的二进制整数为:00001111 共16种状态,模为16=24。,(3)补码表示法,若定点小数补码形式为X0.X1X2Xn,则补码表示的定义是,对定点整数,补码表示的定义是,小数完成下列数的真值到补码的转换:X1=+0.1011011 X2=-0.1011011,X1补=0.1011011,X2补=1.0100101,整数完成下列数的真值到补码的转换:X1=+0 1011011 X2=-0 1011011,X1补=01011011,X2补=10100101,补码的表示范围:,n+1位字长纯整数:-2n 2n-1 当字长为7时:-1补=11111111+0补=000
21、00000-0补=00000000-128补=28-|-128|=100000000b-10000000b=10000000b?n+1位字长纯小数:-1 1-2-n 当字长为7时:-1补=1.0000000,原码与补码之间的转换,原码求补码正数 X补=X原负数 符号位不变,各位取反,末位加1。例:X=-01001001X原=11001001,X补=10110110+1=10110111X补=28+X=100000000-1001001=10110111 100000000-1001001 10110111,由X补求-X补(求机器负数),方法:连同符号一起将各位取反,末位再加1。设字长N=8位例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 数据 表示 方法

链接地址:https://www.31ppt.com/p-6606162.html