计算机组成原理 第2版 课件 第二章 计算机中信息的表示方法_第1页
计算机组成原理 第2版 课件 第二章 计算机中信息的表示方法_第2页
计算机组成原理 第2版 课件 第二章 计算机中信息的表示方法_第3页
计算机组成原理 第2版 课件 第二章 计算机中信息的表示方法_第4页
计算机组成原理 第2版 课件 第二章 计算机中信息的表示方法_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理01计数制及其相互转换

第二章计算机中信息的表示方法02数值型数据的表示方法03计算机中的编码04其他信息的表示方法05数据校验码计数制及其相互转换01用少量的数字符号(也称数码),按先后次序把它们排成数位,由低到高进行计数,计满进位,这样的方法称为进位计数制。进位计数制基数:进位制的基本特征数,即所用到的数字符号个数。例如10进制:0~9十个数码表示,基数为10。权:进位制中,处于某一位上的“1”所表示的数值的大小为该位的权。各种进位计数制中的权值恰好是基数的某次幂。常见的进位制:2,8,10,16进制。进位计数制及其转换

数码为:0~9;基数是10。 Decimal:十进制运算规律:逢十进一,即:9+1=10。十进制数的权展开式:55555×103=50005×102=5005×101=505×100=5=5555103、102、101、100称为十进制的权。各数位的权是10的幂。同样的数码在不同的数位上代表的数值不同。+任意一个十进制数都可以表示为各个数位上的数码与其对应的权的乘积之和,称权展开式。即:(5555)D=5×103

+5×102+5×101+5×1001、十进制(Decimal)例如:一个十进制数143.75的表示注: 等式左边为并列表示法 等式右边为多项式表示法

数码为:0、1;基数是2。 Binary:二进制运算规律:逢二进一,即:1+1=10。二进制数的权展开式:如:(101.01)B=1×22

+0×21+1×20+0×2-1+1×2-2

=(5.25)10加法规则:0+0=0,0+1=1,1+0=1,1+1=10乘法规则:0•0=0,0•1=0,1•0=0,1•1=1运算规则各数位的权是2的幂二进制数只有0和1两个数码,它的每一位都可以用电子元件来实现,且运算规则简单,相应的运算电路也容易实现。2、二进制(Binary)例如:一个二进制数(1101.01)2的表示移位性质:小数点右移一位,数值扩大一倍小数点左移一位,数值减小一半奇偶性质:最低位为0,偶数最低位为1,奇数1.1=20+2-1=1.511=21+20=2(20+2-1)=30.110.75=2-1(20+2-1)=2-1+2-2=

3.二进制数的性质优点:只有0,1两个数码,易于用物理器件表示。电位的高低,脉冲的有无,电路通断等都比较容易区别,可靠性高。运算规则简单。二进制的0,1与逻辑命题中的真假相对应,为计算机中实现逻辑运算和逻辑判断提供有利条件。缺点:书写冗长,不易识别,不易发现错误

4.二进制数的特点数码为:0~9、A~F;基数是16。Hexadecimal:十六进制运算规律:逢十六进一,即:F+1=10。十六进制数的权展开式:如:(D8.A)H=13×161

+8×160+10×16-1=(216.625)10各数位的权是16的幂

5、十六进制(Hexadecimal)例如十六进制数(2A.7F)16的表示数码为:0~7;基数是8。

O:八进制运算规律:逢八进一,即:7+1=10。八进制数的权展开式:如:(207.04)8=2×82

+0×81+7×80+0×8-1+4×8-2

=(135.0625)10各数位的权是8的幂

6、八进制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=1×23+1×22+0×21+1×20 +0×2-1+1×2-2+0×2-3+1×2-4

=8+4+1+0.25+0.0625=13.3125(237)8=2×82+3×81+7×80=128+24+7=159(10D)16=1×162+13×160=256+13=2692、十进制转换成二进制方法一般分为两个步骤:整数部分的转换除2取余法(基数除法)减权定位法小数部分的转换乘2取整法(基数乘法)除基取余法:把给定的十进制整数除以基数,取余数作为最低位的系数,然后继续将商部分除以基数,余数作为次低位系数,重复操作直至商为0。225

余1122

余062

余032

余112

余10(25)D=(11001)B除基数得余数作系数从低位到高位减权定位法:将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置1,减去该权值后再往下比较,若不够减则对应位为0,重复操作直至差数为0。例:将(327)10转换成二进制数

51225612864321684210 256<327<512 327-256=711 71<1280 71-64=71 7<320 7<160 7<80 7-4=31 3-2=11 1-1=01(327)10=(101000111)2乘基取整法(小数部分的转换):

把给定的十进制小数乘以2,取其整数作为二进制小数的第一位,然后取小数部分继续乘以2,将所得整数部分作为第二位小数,重复操作直至得到所需要的二进制小数。0.812521.625021.250020.5000取整1100.62500.2500乘基数取整数作系数从高位到低位

若小数在连乘多次后不为0,一般按照精确度要求(如小数点后保留n

位)得到n个对应位的系数即可。21.00001问题:(25.8125)10=(?)2(1)二进制数转换为八进制数:将二进制数由小数点开始,整数部分向左,小数部分向右,每3位分成一组,不够3位补零,则每组二进制数便是一位八进制数。3、其它进制之间的直接转换法二进制数与八进制数的相互转换1101010.01000=(152.2)8(2)八进制数转换为二进制数:将每位八进制数用3位二进制数表示。 =011111100.010110(374.26)8二进制转换成八进制例:(10110111.01101)2(10110111.01101)2=(267.32)8八进制:267.32二进制:010,110,111.011,010二进制:10,110,111.011,01八进制转换二进制例如:(123.46)8 =(001,010,011.100,110)2 =(1010011.10011)2二进制数与十六进制数的相互转换111010100.0110000=(1D4.6)16=101011110100.01110110(AF4.76)16

二进制数与十六进制数的相互转换,按照每4位二进制数对应于一位十六进制数进行转换。二进制转换成十六进制例:(110110111.01101)2(10110111.01101)2=(1B7.68)16十六进制:1B7.68二进制:0001,1011,0111.0110,1000二进制:1,1011,0111.0110,1十六进制转换成二进制例如:(7AC.DE)16 =(0111,1010,1100.1101,1110)2 =(11110101100.1101111)202数值型数据的表示方法数的编码与表示数值范围:一种数据类型所能表示的最大值和最小值。数据精度:实数所能表示的有效数字位数。数值范围和数据精度均与使用多少位二进制位数以及编码方式有关。计算机用数字表示正负,隐含规定小数点。采用“定点”、“浮点”两种表示形式。数值型数据的表示方法真值:正、负号加某进制数绝对值的形式。如二进制真值;X=+101111机器数:在机器中使用的连同符号一起数码化表示的二进制数的形式。

最高位是符号位,通常用“0”表示正号,用“1”表示负号。 如:X=01011y=11011带符号数的机器表示方法原码、反码、补码、移码真值和机器数原码表示法用“0”表示正号,用“1”表示负号,有效值部分用二进制的绝对值表示。注:以下X=X0X1X2•••Xn,字长的有效位数为n+1若定点小数的原码形式为X0.X1X2…XN,则原码表示的定义是式中[X]原是机器数,X是真值[X]原=

X

1>X≥0

1-X=1+|X|

0≥X>-1若定点整数的原码形式为X0X1X2…XN,则原码表示的定义是[X]原=

X

2n>X≥0

2n-X=2n+|X|

0≥X>-2n原码表示法完成下列数的真值到原码的转换:X1=+0.1011011X2=-0.1011011[X1]原=0.1011011[X2]原=

1.1011011“.”只用于助记,在计算机中并无专用部件来表示完成下列数的真值到原码的转换:X1=+1011011X2=-1011011

[X1]原=0

1011011[X2]原=1

1011011原码整数中[+0]原

=00000000;[-0]原

=10000000表示范围:-(2n-1)~+(2n-1)

8位字长:-127~+12716位字长:-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,数值位是将原码的数值按位取反。若定点小数,反码表示的定义是[X]反=X

1>X≥0

2-2-n+X|

0≥X>

-1对定点整数,补码表示的定义是[X]反=X

2n>X≥0

2n+1-1+X0≥X>

-2n反码表示法小数:X1=+0.1011011,[X1]反=0.1011011X2=-0.1011011,[X2]反=1.0100100整数:X3=+1011011,[X3]反=01011011X4=-1011011,[X4]反=10100100

[+0]反=0.0000000;[-0]反=1.1111111反码特点:

0也有两种形式反码表示正数时,与原码和补码的形式完全相同。表示负数时,其码值比补码小“1”。反码也同样适用于加减法运算,在加减法运算时,如产生模的溢出时,在最低位补“1”。表示范围:对于n+1位反码机器数X,它所能表示的数据范围为:定点整数:-(2n-1)≤X≤2n-1定点小数:-(1-2-n)≤X≤1-2-n正数的补码与原码相同,负数的补码是将负数的反码末位加1。模:计量的范围,或称为模数,超出模数即溢出被丢掉。

N位字长的整数(包括1位符号位)模值为2NN位字长的纯小数(包括1位符号位)的模值为2

例:4位字长的机器表示的二进制整数为:

0000~1111共16种状态,模为16=24

。补码表示法这个表走快了怎样理解模的概念若定点小数补码形式为X0.X1X2…Xn,则补码表示的定义是[X]补=X

1>X≥0

2+X=2-|X|

0≥X≥-1(mod2)对定点整数,补码表示的定义是[X]补=X

2n>X≥0

2n+1+X=2n+1-|X|

0≥X≥-2n(mod2n+1)完成下列数的真值到补码的转换:X1=+0.1011011X2=-0.1011011

[X1]补=0.1011011[X2]补=1.0100101完成下列数的真值到补码的转换:X1=+01011011X2=-01011011[X1]补=01011011[X2]补=10100101n+1位字长纯整数:-2n~2n-1

当字长为7时:[-1]补

=11111111[+0]补

=00000000[-0]补=00000000[-128]补=28-|-128|=100000000b-10000000b=10000000b?n+1位字长纯小数:-1

1-2-n

当字长为7时:[-1]补=1.0000000补码的表示范围其实只要这样想:8位的二进制数据可以表示256种情况原码就是:

(-127…-0,+0…+127)反码一样补码因为+0和-0表示方法一样,所以肯定多出来一种情况,即10000000,把它定义成-128原码求补码正数[X]补=[X]原负数符号位不变,各位取反,末位加1。例:X=-01001001[X]原=11001001,[X]补=10110110+1=10110111[X]补=28+X=100000000-1001001=10110111

100000000-100100110110111原码与补码之间的转换由[X]补求[-X]补(求机器负数)方法:连同符号一起将各位取反,末位再加1。设字长N=8位例:X=+1001001 [X]补

=01001001 [-X]补=10110111补码的的优点:可以将减法运算转换成加法运算,简化了运算规则。补码特点:

是一种以模数为概念而引入的机器码,因此模数取不同值,负数的补码值也会随之改变。

补码形式将负数化为正数形式,将减法化为加法运算,特别适合于加减法运算。

负数补码可以通过对原码数码位(除符号位)取反加“1”(最低位权值)求得。补码的模数比反码的模数大“1”。表示方法:最高位为符号位,其他位为数值位。符号位:1-正数,0-负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反后,末位加1。移码表示:即为补码的符号位取反对于定点整数:若X=+X1X2……Xn,则[X]移=1,X1X2……Xn

;若X=-X1X2……Xn

,则[X]移=0,X1X2……Xn

+1。移码仅仅用来表示整数

移码表示法例1:X=1011,Y=-1011,则:

[X]移=

;[Y]移=

;例2:X=1101,Y=-1101,则:

[X]移=

;[Y]移=

;例3:X=1011,Y=-1101,求X和Y的8位移码机器数。

[X]移=

;[Y]移=

;例4:[0]移=?1,10110,0101111010001110001011011100110的表示:0的移码表示形式是唯一的,即分别按照正数和负数表示均一致。[+0]移=10…0[-0]移=10…0表示范围:对于n+1位移码机器数X,它所能表示的数据范围为:定点整数:-2n-1≤X≤2n-1定点小数:-1≤X≤1-2-n移码通常作为浮点数的阶码。包括1位符号位,n位数值位一个代码,赋予不同类型,其数值不一样。而类型要由人编程指定。例:计算机内一个8位二进制数10000001B无符号二进制数——129,有符号整数:原码——

-1, 反码——

-126, 补码——

-127有符号小数:原码——

-0.0000001B=-1/128

反码——

-126/128, 补码——

-127/128[X]原、[X]反、[X]补用“0”表示正号,用“1”表示负号;如果X为正数,则[X]原=[X]反

=[X]补。如果X为0,则[X]移、

[X]补有唯一编码,[X]原、[X]反有两种编码。码制表示法小结1.定点数定点数是指小数点固定在某个位置上的数据,一般有小数和整数两种表示形式。定点小数是把小数点固定在数据数值部分的左边,符号位的右边;整数是把小数点固定在数据数值部分的右边。我们在前面讨论的数据都是定点数。2.浮点数浮点数(真值)是指小数点位置可浮动的数据,通常以下式表示:

N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R为一常数,一般为2、8或16。N=M·RE

定点数和浮点数及其表示方法1、定点表示法约定机器中所有数据的小数点位置固定不变。用定点表示法表示的数称为定点数。(1)定点小数(纯小数):小数点在数值最高有效位之前,符号位之后。

X=X0.X1X2

XnX0X1X2

•Xn

符号位.

尾数

范围:2-n≤︱X︱≤1-2-n(2)定点整数:小数点固定在数的最低位之后。

X=X0X1X2

•Xn.

范围:1≤︱X︱≤2n-1真值:N=RE.S

R——基数,E——阶码,S——尾数

机器数:把字长分成阶码和尾数两部分:格式通常为:EfE1E2E3•

•SfS1S2•

•Sn阶符尾符阶码值尾数值通常,阶码为补码或移码定点整数,尾数为补码或原码定点小数。浮点数的机器数表示设浮点数共n位,其中尾数n1位,阶码n2位,用原码表示时

阶码,表示范围:尾数,表示范围:浮点数最大值:

最小值:

绝对值最小值:

浮点数的机器表示范围当一个浮点数的尾数为0(不论阶码是何值),或阶码的值比能在机器中表示的最小值还小时,计算机都把该浮点数看成零值,称为机器零。同一个浮点数的表示方法不是唯一的 如:11.01也可以表示成0.01101×2-3,0.1101×2-2浮点表示比较定点表示的数的范围大。

如用同样位数:16位

定点表示:

0.00……01-----0.11……11

其绝对值变化范围为2-15→(1-2-15)≈1

浮点表示:阶码为四位,尾数为十二位,各含一位符号,其绝对值范围为2-7·2-11→27·(1-2-11)

所以定点表示:范围为≈2-15→1

浮点表示:范围为≈2-18→27

当然为了提高浮点数的精度,必须采用比定点数长的位数,以增加尾数的长度。数的定点表示与浮点表示的比较浮点数的表示及处理较为复杂。 浮点数要包含二个部分阶码及尾数,可以采用不同编码制。浮点数要规格化及溢出处理都比定点数复杂。浮点数运算过程也比定点数复杂。加减法时,要先对阶,使小数点位置对齐,然后再运算,运算完毕要规格化及溢出处理。乘除法:要阶码进行加减法,尾数相乘、除,运算完毕再要规格化及溢出处理。03计算机中的编码有权码表示一位十进制数的二进制码的每一位有确定的权。一般用8421码,其4个二进制码的权从高到低分别为8、4、2和1。用0000,0001,…,1001分别表示0,1,…,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binarycodeddecimal,简称BCD)码”。有权码和无权码二进制的缺点小数部分在二进制下只能表示成n1*(1/2)+n2*(1/4)+n3*(1/8)+...+nn*(1/2n)的形式造成精度损失十进制数的二进制表示(BCD码)维持十进制的进位数制特点借用四位二进制数的十六个状态组合的其中十个状态来表示十进制数的0~9方法:8421、2421、余3码、格雷码BCD码8421码每位的权值分别为8、4、2、1例如:(16)10表示为000101102421码每位的权值分别为2、4、2、10~4与8421表示相同,5~9将高位置1例如:(16)10表示为00011100余3码在8421码基础上加3,各位无权值BCD码的种类加法进位问题矛盾:4比特的可用表示范围为0~15,但是BCD码要求逢10进位解决:结果大于等于10,必须加6修正,即人为的产生进位BCD码运算② 4+9=13 0100 +1001 1101 +0110修正

10011

进位例

① 1+8=9 0001 +1000 1001不需要修正表4位有权码十进制数8421码2421码5211码4311码00000000000000000100010001000100012001000100011001130011001101010100401000100011110005010110111000011160110110010101011701111101110011008100011101110111091001111111111111表示一个十进制数位的二进制码的每一位没有确定的权。用得较多的是余3码(Excess-3Code)和格雷码(GrayCode),格雷码又称“循环码”。余3码是在8421码基础上,把每个编码都加上0011而形成的(见表),其运算规则是:当两个余3码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位,本位加0011。例(28)10+(55)10=(83)10无权码格雷码的编码规则:任何两个相邻编码只有一个二进制位不同,而其余三个二进制位相同。

其优点是从一个编码变到下一个相邻编码时,只有1位发生变化,用它构成计数器时可得到更好的译码波形。

格雷码的编码方案有多种,下表

给出两组常用的编码值。表4位无权码十进制数余3码格雷码(1)格雷码(2)0001100000000101000001010020101001101103011000100010401110110101051000111010116100110100011710101000000181011110010019110001001000(1)字符形式。即一个字节存放一个十进制数位或符号位,存放的是0~9十个数字和正负号的ASCII编码值。(2)压缩的十进制数形式。用一个字节存放两个十进制数位,既节省了存储空间,又便于完成十进制数的算术运算。其值用BCD码或ASCII码的低4位表示。符号位也占半个字节并放在最低数字位之后,其值可从4位二进制码中的6种冗余状态中选用。

3.数字串在计算机内的表示与存储04其他信息的表示方法71带语音的计算机表示方法图像的计算机表示方法图形的计算机表示方法数据校验码05校验码:在基本的有效数据外,再扩充部分位,增加部分(冗余部分)被称为校验位。将校验位与数据位一起按某种规则编码。奇偶校验码在每组数据信息上附加一个奇(或偶)校验位,组成的新数据称为奇(或偶)校验编码。校验位的取值(0或1)取决于这组信息中“1”的个数和校验方式(奇或偶校验)。奇校验:校验编码中“1”的个数为奇数。偶校验:校验编码中“1”的个数为偶数。例如:8位信息10101011,附加校验位后变为9位若用奇校验,则奇校验编码应为101010110

;若用偶校验,则偶校验编码应为101010111

。奇偶校验的特点:1、可检验出数据传送过程中奇数个数位出错的情况;2、简便、可靠易行,但不能自动纠正错误。通过某种数学公式建立信息位和校验位之间的约定关系——能够校验传送信息的对错,并且能自动修正错误。广泛用于通信和磁介存储器中。CRC编码格式是在k位信息后加r位检验码。

C1C2…...CK

r1r2……ri

校验位(r位)信息位(k位)NN-121CRC冗余校验码

假设被传送的k位二进制信息位用C(x)表示,系统选定的生成多项式用G(X)表示,将C(x)左移G(X)的最高次幂(即等于需要添加的校验位的位数r),写作

C(x)•2r,然后将C(x)•2r除以生成多项式G(x),所得商用Q(x)表示,余数用R(x)表示。则:两边同时乘以G(x)并左移

R(x)

得到:CRC码的编码方法故有:

即为所求的n位CRC码。

余数R(x)就是校验位(r位),等式两边都是G(x)的倍数。

发送信息时将等式左边生成的n位CRC码送给对方。

当接收方接到n位编码后,同样除以G(x),如果传输正确则余数为0,否则则可以根据余数的数值确定是哪位数据出错。CRC编码采用的加、减法是按位加减法,运算规则为:

00=0,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论