运算机组成原理教学第2章数据的机械层次表示Word文件下载.docx
《运算机组成原理教学第2章数据的机械层次表示Word文件下载.docx》由会员分享,可在线阅读,更多相关《运算机组成原理教学第2章数据的机械层次表示Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
把握:
原码、补码、反码表示法和三种码制与真值之间的转换方式。
定点数和浮点数的表示范围。
明白得:
浮点数阶码的移码。
IEEE754浮点数标准。
常见的字符编码方式(ASCII码)、汉字国标码、区位码、机内码的特点。
8241码、2421码和余3码的特点。
奇偶校验位及其形成方式。
海明校验码和循环冗余校验码。
数值数据的表示
在运算机中,采纳数字化方式来表示数据,数据有无符号数和带符号数之分,其中带符号数依照其编码的不同又有原码、补码和反码3种形式。
运算机中的数值数据
二进制数:
后缀B。
八进制数:
后缀Q。
十进制数:
后缀D或省略后缀。
十六进制数:
后缀H。
无符号数和带符号数
无符号数,确实是整个机械字长的全数二进制位均表示数值位(没有符号位),相当于数的绝对值。
例如:
N1=01001表示无符号数9
N2=11001表示无符号数25
机械字长为n+1位的无符号数的表示范围是0~(2n+1-1),现在二进制的最高位也是数值位,其权值等于2n。
假设字长为8位,那么数的表示范围为0~255。
无符号数和带符号数(续)
带符号数,即正、负数。
在日常生活中,咱们用“+”、“-”号加绝对值来表示数值的大小,用这种形式表示的数值在运算机技术中称为真值。
在运算机中需要把数的符号数码化。
通常,约定二进制数的最高位为符号位,“0”表示正号,“1”表示负号。
这种在运算机中利用的表示数的形式称为机械数。
常见的机械数有原码、反码、补码等三种不同的表示形式。
带符号数的最高位被用来表示符号位,而再也不表示数值位。
前例中的N一、N2在那个地址的含义变成:
N1=01001表示+9。
N2=11001依照机械数的不同形式表示不同的值,如是原码那么表示-9,补码那么表示-7,反码那么表示-6。
原码表示法
原码表示法是一种最简单的机械数表示法,用最高位表示符号位,符号位为“0”表示该数为正,符号位为“1”表示该数为负,数值部份与真值相同。
设二进制纯小数的原码形式为…Xn,字长n+1位,其中Xs表示符号位。
例1:
X1=,[X1]原=
X2=,[X2]原=
原码表示法(续)
设二进制纯整数的原码形式为XsX1X2…Xn,其中Xs表示符号位。
例2:
X1=1101,[X1]原=01101
X2=-1101,[X2]原=11101
在原码表示中,真值0有两种不同的表示形式:
[+0]原=00000
[-0]原=10000
补码表示法
1.模和同余
模是指一个计量器的容量,可用M表示。
一个4位的二进制计数器,当计数器从0计到15以后,再加1,计数值又变成0。
那个计数器的容量M=24=16,即模为16。
由此可见,纯小数的模为2,一个字长为n+1位的纯整数的模为2n+1。
同余是指两整数A、B除以同一正整数M,所得余数相同,那么称A、B对M同余,即A、B在以M为模时是相等的,可写作
A=B(modM)
时钟正拨和倒拨
对钟表而言,M=12。
假设:
时钟停在8点,而此刻正确的时刻是6点,这时拨准时钟的方式有两种:
正拨和倒拨。
分针倒着旋转2圈,等于分针正着旋转10圈。
故有:
-2=10(mod12),即-2和10同余。
8-2=8+10(mod12)
倒拨时钟
正拨时钟
补码的符号位表示方式与原码相同,其数值部份的表示与数的正负有关:
关于正数,数值部份与真值形式相同;
关于负数,将真值的数值部份按位取反,且在最低位上加1。
假设真值为纯小数,它的补码形式为…Xn,其中Xs表示符号位。
例5:
X1=,[X1]补=
X2=,[X2]补=
2.补码表示
2.补码表示(续)
假设真值为纯整数,它的补码形式为XsX1X2…Xn,其中Xs表示符号位。
例6:
X1=1101,[X1]补=01101
X2=-1101,[X2]补=10011
在补码表示中,真值0的表示形式是惟一的:
[+0]补=[-0]补=00000
当X为正数时,[X]补=[X]原=X
当X为负数时,由[X]原转换为[X]补的方式:
①[X]原除掉符号位外的列位取反加“1”。
②自低位向高位,尾数的第一个“1”及其右部的“0”维持不变,左部的列位取反,符号位维持不变。
例7:
[X]原=
[X]补=
3.由真值、原码转换为补码
不变
变反
反码表示法
反码表示法与补码表示法有许多类似的地方,关于正数,数值部份与真值形式相同;
关于负数,将真值的数值部份按位取反。
假设真值为纯小数,它的反码形式为…Xn,其中Xs表示符号位。
例9:
X1=,[X1]反=
X2=,[X2]反=
反码表示法(续)
假设真值为纯整数,它的反码形式为XsX1X2…Xn,其中Xs表示符号位。
例10:
X2=-1101,[X2]补=10010
在反码表示中,真值0也有两种不同的表示形式:
[+0]反=00000
[-0]反=11111
1.比较
关于正数它们都等于真值本身,而关于负数各有不同的表示。
最高位都表示符号位,补码和反码的符号位可作为数值位的一部份看待,和数值位一路参加运算;
但原码的符号位不许诺和数值位一样看待,必需分开进行处置。
关于真值0,原码和反码各有两种不同的表示形式,而补码只有惟一的一种表示形式。
原码、反码表示的正、负数范围相对零来讲是对称的;
但补码负数表示范围较正数表示范围宽,能多表示一个最负的数(绝对值最大的负数),其值等于-2n(纯整数)或-1(纯小数)。
三种码制的比较与转换
真值与3种机械数间的对照
2.转换
若是已知机械的字长,那么机械数的位数应补够相应的位。
例如,设机械字长为8位,那么:
X1=1011X2=-1011
[X1]原=00001011[X2]原=
[X1]补=00001011[X2]补=
[X1]反=00001011[X2]反=
X3=X4=
[X3]原=[X4]原=
[X3]补=[X4]补=
[X3]反=[X4]反=
机械数的定点表示与浮点表示
运算机在进行算术运算时,需要指出小数点的位置。
依照小数点的位置是不是固定,在运算机中有两种数据格式:
定点表示和浮点表示。
定点表示法
在定点表示法中约定:
所有数据的小数点位置固定不变。
1.定点小数
小数点的位置固定在最高有效数位之前,符号位以后,记作…Xn,那个数是一个纯小数。
定点小数的小数点位置是隐含约定的,小数点并非需要真正地占据一个二进制位。
定点小数表示范围
当Xs=0,X1~Xn=1时,X为最大正数。
X最大正数=(1-2-n)
当Xn=1,Xs~Xn-1=0时,X为最小正数。
X最小正数=2-n
定点小数表示范围(续)
当Xs=1,表示X为负数,现在情形要略微复杂一些,这是因为在运算机中带符号数可用补码表示,也可用原码表示。
原码和补码的表示范围有一些不同。
假设机械数为原码表示,当Xs~Xn均等于1时,X为绝对值最大的负数。
X绝对值最大负数=-(1-2-n)
假设机械数为补码表示,当Xs=1,X1~Xn均等于0时,X为绝对值最大的负数。
X绝对值最大负数=-1
假设机械字长有n+1位,那么有:
原码定点小数表示范围:
-(1-2-n)~(1-2-n)
补码定点小数表示范围:
-1~(1-2-n)
假设机械字长有8位,那么有:
-(1-2-7)~(1-2-7)
-1~(1-2-7)
2.定点整数
定点整数即纯整数,小数点位置隐含固定在最低有效数位以后,记作XsX1X2…Xn。
假设机械字长有n+1位,那么有:
原码定点整数的表示范围:
-(2n-1)~(2n-1)
补码定点整数的表示范围:
-2n~(2n-1)
假设机械字长有8位,那么有:
原码定点整数表示范围:
-127~127
补码定点整数表示范围:
-128~127
定点整数表示范围
小数点的位置依照需要而浮动,这确实是浮点数。
N=M×
rE
其中:
r为浮点数阶码的底,与尾数的基数相同,通常r=2。
E和M都是带符号数,E叫做阶码,M叫做尾数。
在大多数运算机中,尾数为纯小数,经常使用原码或补码表示;
阶码为纯整数,经常使用移码或补码表示。
浮点表示法
浮点数的底是隐含的,在整个机械数中不显现。
阶码的符号位为es,阶码的大小反映了在数N中小数点的实际位置;
尾数的符号位为ms,它是整个浮点数的符号位,表示了该浮点数的正负。
浮点数的一样格式
1.浮点数的表示范围
当es=0,ms=0,阶码和尾数的数值位列位全为1(即阶码和尾数都为最大正数)时,该浮点数为最大正数:
X最大正数=(1-2-n)?
?
当es=1,ms=0,尾数的最低位mn=1,其余列位为0(即阶码为绝对值最大的负数,尾数为最小正数)时,该浮点数为最小正数:
X最小正数=2-n?
1.浮点数的表示范围(续)
当es=0,阶码的数值位为全1;
ms=1,尾数的数值位为全0(即阶码为最大正数,尾数为绝对值最大的负数)时,该浮点数为绝对值最大负数:
X绝对值最大负数=-1?
为了提高运算的精度,需要充分地利用尾数的有效数位,通常采取浮点数规格化形式,即规定尾数的最高数位必需是一个有效值。
1/2≤|M|<1
2.规格化浮点数
2.规格化浮点数(续)
在尾数用补码表示时,规格化浮点数应知足尾数最高数位与符号位不同(ms⊕m1=1),即当1/2≤M<1时,应有…x形式,当-1≤M<-1/2时,应有…x形式。
需要注意的是当M=-1/2,关于原码来讲,是规格化数,而关于补码来讲,不是规格化数。
当es=1,ms=0,尾数的最高位m1=1,其余列位为0时,该浮点数为规格化的最小正数:
X规格化的最小正数=2-1?
规格化的最小正数大于非规格化的最小正数。
浮点数的典型值
移码表示法
移码确实是在真值X上加一个常数(偏置值),相当于X在数轴上向正方向平移了一段距离,这确实是“移码”一词的来由。
[X]移=偏置值+X
关于字长8位的定点整数,偏置值为27。
例11:
X=1011101
[X]移=27+X=+1011101=
[X]补=01011101
例12:
X=-1011101
[X]移=27+X=101=00100011
[X]补=
偏置值为27的移码、