计算机数据格式.docx
- 文档编号:11292698
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:13
- 大小:84.96KB
计算机数据格式.docx
《计算机数据格式.docx》由会员分享,可在线阅读,更多相关《计算机数据格式.docx(13页珍藏版)》请在冰豆网上搜索。
计算机数据格式
●数据的表示方法
各类数据在计算机中的表示方法以及它们在计算机中的运算和处理方法是了解计算机在自动解题过程中数据信息的加工处理过程、掌握计算机硬件组成及整机工作原理的基础。
一、数制和数制转换
1、数制相关知识
数制是人们利用一组数字符号和进位规则表示数据大小的计算方法。
计算机处理的数据分为数值数据和非数值数据,计算机只能直接识别二进制数据,但人们在使用计算机时多用八、十、十六进制。
任意一个R进制数(N)R=Xn-1Xn-2···X1X0X-1X-2···X-(m-1)X-m,可以展开为:
Xn-1Rn-1+Xn-2Rn-2+···+X0R0+X-1R-1+···+X–(m-1)R--(m-1)+X-mR-m
式中R是R进制的基数,Ri为位权值,各位数字Xi(-m<=I<=n-1)的取值范围是0~(R-1),计数规则是“逢R进一”,基本因素是基数和位权值。
重点需要掌握的是:
(1)不同数制的基数不同,所使用的数字取值范围也不同;
(2)任意进制数转换成十进制数的方法是乘权求和;
(3)十进制数转换成任意进制整数部分方法是除基取余,小数部分是乘基取整;
(4)二进制与八进制、十六进制转换利用它们的对应关系。
例1:
将二进制数10110011.10111转换成十进制数。
例2:
将十进制数233.8125转换成二进制数。
例3:
将二进制数1011100.1101转换成八进制数和十六进制数。
二、数据编码及变换方法
1、机器数和真值的概念
数在计算机中的二进制表示形式统称为机器数或机器码,机器数可分为无符号数和带符号数,机器数对应的实际数值为真值。
机器数的特点:
(1)数的符号二进制代码化。
“0”正“1”负,放在最高位。
(2)小数点隐含在数据的某一固定位置上,不占存储空间。
机器数可分为:
(1)无符号数:
机器字长的所有二进制位均表示数值。
(2)带符号数:
分别用二进制代码表示数值部分和符号部分。
例1:
设8位机器数为11011011,作为无、带符号数分别是多少。
2、原、反、补码和移码
为便于处理,计算机中采用了原码、反码、补码和移码4种不同的机器码表示方法表示带符号数。
对于n+1位机器数X0X1X2···Xn,设X0为符号位,n为数值部分的位数。
X0<=X<1
(1)纯小数原码定义为:
[X]原={
(2)纯整数原码定义为:
[X]原={
(3)纯小数补码定义为:
[X]补={
(4)纯整数补码定义为:
[X]补={
(5)纯小数反码定义为:
[X]反={
(6)纯整数反码定义为:
[X]反={
(7)纯小数移码定义为:
[X]移=1+X-1<=X<1
2n+X-2n<=X<0
(8)纯整数移码定义为:
[X]移=2n+X-2n<=X<2n
以上各类码制转化方法:
(1)原码为数值不变,最高位加上符号位,位数不够的补零。
(2)正数的原码、反码、补码形式相同,若为负数,则:
(3)符号位不变,其余各位取反得到反码;
(4)反码加1得到补码。
(5)不论数的正负,将其补码符号位取反,数值位不变的移码。
3、“0”的表示方法
不同的码制下,“0”的表示方法不同。
原码和反码表示中,“0”的表示方法有两种:
对于纯小数:
[+0]原=0.000···000[-0]原=1.000···000
[+0]反=0.000···000[-0]反=1.111···111
对于纯整数:
[+0]原=0000···000[-0]原=1000···000
[+0]反=0000···000[-0]反=1111···111
在补码和移码中,“0”只有以下一种表示方法:
对于纯小数:
[+0]补=[-0]补=0.000···000
[+0]移=[-0]移=1.000···000
对于纯整数:
[+0]补=[-0]补=0000···000
[+0]移=[-0]移=1000···000
三、数的定点表示和浮点表示
定点表示数据范围有限,但硬件简单;浮点表示数据范围较大,但硬件复杂。
1、定点表示
约定计算机中所有数据的小数点位置均是相同的而且是固定不变的。
定点小数约定小数点在符号位和最高数值位之间;定点整数约定小数点在最低数值位之后。
(1)对于一个n+1位的机器数x0x1x2x3···xn-1xn,x0为符号位。
(a)采用定点小数表示时,代表的纯小数0.x0x1x2x3···xn-1xn,不同码制下定点小数可表示的数值范围不同。
原码:
小数范围:
+(1-2-(n-1))~-(1-2-(n-1)),当n=8时,
为+(1-2-7)~-(1-2-7),反码与原码相同。
补码:
-+(1-2-(n-1))~-1,当n=8时,为+(1-2-7)~-1,
移码与补码相同。
(b)采用定点整数表示时,代表的纯整数x0x1x2x3···xn-1xn,不同码制下定点整数可表示的数值范围不同。
原码:
+(2n-1-1)~-(2n-1-1),当n=8时,为+(27-1)~-(27-1),即127~-127,反码与原码相同。
补码:
+(2n-1-1)~-2n-1,当n=8时,为+127~-128,移码与补码相同。
2、浮点表示
约定计算机中所有数据的小数点可以变动的。
浮点表示包括阶码(含阶符)和尾数(含尾符)两部分。
即N=+M*R+e
其中+M是N的尾数,是数值的有效数字部分,一般用定点小数表示。
指明有效数字的位数,决定浮点数的表示精度,符号表示正负。
R是基数,大多计算机中定为2。
+e是阶码,通常用二进制定点整数表示,指明小数点的位置,决定浮点数的表示范围。
目前广泛采用的浮点数据编码标准是IEEE754标准,其中32位单精度浮点数表示为:
1位
8位
23位
S
E
M
数符
指数
尾数
S:
数符,“0”“+“1”“-”。
E:
指数,即阶码部分,包含一位阶符和7位数值,采用,即为127加实际指数值。
M:
尾数,23位,规格化时,小数点前隐含一个1,从而使尾数实际位有24位,有效值为1.M。
非规格化时,尾数为0.M。
即N=(-1)S*1.M*2E-127
例1:
将5/32及-4120表示成IEEE754单精度格式,并用十六进制书写。
解:
(1)(5/32)D=0.00101B=1.01*2-3
按IEEE754单精度格式得:
S=0,M=01000···00,E=127+(-3)=124=01111100B
机器数表示形式为:
00111110001000000000000000000000B=3E200000H
(2)-4120D=-1.000000011*212
S=1
M=000000011···00
E=127+12=139=10001011B
机器数表示形式为:
11000101100000001100000000000000B=0C580C000H
3、浮点表示尾数的规格化
规定尾数小数点后第一位即数值的最高位必须是有效数字。
即原码表示时,规格化数尾数数值最高位为1,0则为非规格化数;补码表示时,尾符与尾数的数值最高位相反,相同则为非规格化数。
通过尾数左移阶码减1、尾数右移阶码加1进行规格化处理。
4、机器零
当一个浮点数尾数为0时,不论其阶码为何值,或阶码等于或小于它所能表示的最小数时,不管其尾数为何值,机器都把浮点数当做零看待,并称为“机器数”。
在实际应用中,尾数常采用原码或补码表示,阶码常采用移码表示,以方便判0。
5、浮点表示法能表示数的范围
设阶码用补码表示,为n+1位(含符号);尾数用原码表示,为m+1位(含符号)。
则表示范围为:
+(1-2-M)*22n-1~-(1-2-M)*22n-1;最大绝对值与最大值相同,最小绝对值为NMIN=2-M*2-2n
例1:
一个32位的浮点数,阶码用7位(含符号)二进制补码表示,尾数用25位(含符号)二进制原码表示,基数为2。
求其浮点数表示范围。
带入公式得:
+(1-2-24)*263~-(1-2-24)*263,所能表示最小绝对值为:
2-88。
6、浮点数的溢出
与定点数对绝对值判断溢出不同,浮点数是对规格化数的阶码进行判断。
当阶码小于最小阶码时,称为下溢,作为“0”处理,机器可以运行。
大于最大阶码时,称为上溢,机器停止运算。
四、十进制数的表示
1、8421BCD码
从0000到1001,代表十进制数“0”到“9”。
2、余3码
即在8421码的基础上加“3”。
五、字符和汉字(略)的编码
1、ASCII码
7位编码,最高位为“0”,共有128个,表示大小写字母、数字、标点符号、控制符号,其中95个可打印字符,33个控制字符。
六、校验码
介绍奇偶校验方法(略)。
●定点运算和逻辑实现
一、定点加减运算
1、补码运算
定点数运算可以用原码、补码、BCD码等进行。
补码简单易行,补码运算的特点是:
(1)参与运算的数用补码表示;
(2)按二进制的规则;
(3)符号位和数值位一样参与运算,符号产生的进位丢弃;
(4)补码运算的结果也是补码。
2、公式和溢出判断
(1)公式
加法:
[X]补+[Y]补=[X+Y]补
减法:
[X-Y]补=[X]补-[Y]补
(2)溢出判断
(a)原数和结果的符号均不同时,产生溢出。
(b)符号位的进位和最高数值位的进位不同,产生溢出。
(c)双符号位时,结果的符号位不同,产生溢出。
例1:
x=+0.1010,y=+0.1001,求x+y=?
3、逻辑实现
(1)全加器
(2)串行进位加法器
(3)二进制加/减法器
注:
对应书本31页图讲解,注意被加数,加数与0(加)或1(减)进行异或运算,减法要多加1(求补)。
二、定点乘法运算
1、运算方法
设被乘数为[x]原=xfxn-1···x1x0,乘数为[y]原=yfyn-1···y1y0,乘积为
[z]原=zfz2n-1···z1z0。
这里,zf=xf⊕yf,z2n-1···z1z0=(xn-1···x1x0)(yn-1···y1y0)。
2、运算规则
(1)最低位y0开始,当乘数yi为1时,将上次的部分积PPi(开始为0)加被乘数的绝对值︱x︱,右移一位,得到新的部分积;
(2)当yi为0时,PPi加0后,右移一位,得到新的部分积。
(3)重复“加——右移”n次即得最后乘积。
例1:
x=-1101,y=+1011,求z=x*y=?
由zf=xf⊕yf得符号为“1”。
(A)=0000,(M)=1101,(Q)=1011,(C)=0。
(1)Q末位为1,AM相加,(A)=1101,不进,右移得(A)=0110,(Q)=1101;
(2)Q末位为1,AM相加,(A)=0011,进位,右移得(A)=1001,(Q)=1110;
(3)Q末位为0,AM不加,(A)=1001,不进,右移得(A)=0100,(Q)=1111;
(4)Q末位为1,AM相加,(A)=0001,不进,右移得(A)=1000,(Q)=1111;
(5)结束,结果为:
110001111。
二、定点除法运算
略,学生自学。
●浮点运算和逻辑实现
一、浮点加减运算
对于两个浮点数:
x=Mx*2ex,y=My*2ey;其中,Mx、My是尾数,ex、ey是阶码。
实现运算的步骤为:
1、对阶
对阶的原则是小阶向大阶看齐。
若ex>ey,则将My右移一位,ey加1,共移位︱ex-ey︱次,直至ex=ey;
若ex 2、尾数相加减 按定点运算的规则进行尾数的加减。 3、结果规格化 (1)运算结果尾数有溢出时,即结果大于1时; (2)不溢出,但不是规格化数。 4、舍入 为减少对阶和向右规格化时产生的误差,进行舍入处理。 (1)恒舍法 将丢掉的舍弃,剩余的不变,简单但精度低。 (2)0舍1入法 右移丢掉的是0,则舍去;否则将1加到尾数的最低位,精度高但影响速度。 (3)末位恒置1法 只要右移丢失数据,则尾数最低位置1,简单,误差小,常用。 例1: 设某机器浮点数格式为: 0 1~5 6~11 数符 阶码 尾数 阶码和尾数均用补码表示。 已知x=+0.110101*2+0011,y=-0.111010*2+0010,x+y=? 解: 把xy变为机器数形式为: x=000011110101,y=100010000110 首先对阶,先求阶差,00011+11110=00001,y尾数右移,阶码加1,得 y=100011100011,再运算,尾数相加,阶码不变,尾数进位到符号位,得结果为: 000011011000,结果没有溢出,但不是规格化数,尾数左移一位,阶码减1,得结果为: 000010110000,即x+y=+0.110000*2+0010。 x-y学生自己练习,注意符号位在规格化时的变化。 结果x-y==0.101001*2+0100。 二、浮点乘除运算 乘法时,尾数按定点乘法进行,阶码按定点加减进行。 除法时,尾数按定点除法进行,阶码按定点加减进行。 ●逻辑运算方法和逻辑实现 一、逻辑运算 1、非运算 规则: 1变0,0变1。 2、或运算 有1为1,全0为0。 3、与运算 有0为0,全1为1。 4、异或运算 相同为0,不同为1。 二、逻辑实现 原理图和逻辑符号略。 ●运算器的组成 一、运算器的功能和分类 对各种数据进行加工处理,如算术逻辑运算,移位处理,地址的运算等,运算引起状态的变化记录在寄存器中。 按小数点的表现形式可分为定点和浮点运算器,从进位制方面可分为二进制和十进制运算器等。 二、运算器的组成 运算器主要由算术逻辑运算单元ALU、通用寄存器组和状态寄存器组成。 1、算术逻辑运算单元ALU 主要完成算术运算、逻辑运算、移位操作等,另外部分运算器还完成比较、地址计算等。 2、通用寄存器组 存取速度快,达到纳秒级别,并且直接访问,所以极大的提高运算速度。 通用寄存器也可以作为特殊作用寄存器使用,举例说明。 3、状态寄存器 以8086PSW为例介绍,说明状态位和控制位的作用。 三、运算器的数据通路 所谓数据通路是指计算机的信息从一个部件传输到另一个部件所经过的路径,连同路径上的设备如: 寄存器、暂存器、逻辑门等。 针对书本44页图,说明其工作过程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 数据格式