计算机数据格式.docx
- 文档编号:3233958
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:11
- 大小:73.52KB
计算机数据格式.docx
《计算机数据格式.docx》由会员分享,可在线阅读,更多相关《计算机数据格式.docx(11页珍藏版)》请在冰豆网上搜索。
计算机数据格式
●数据的表示方法
各类数据在计算机中的表示方法以及它们在计算机中的运算和处理方法是了解计算机在自动解题过程中数据信息的加工处理过程、掌握计算机硬件组成及整机工作原理的基础。
一、数制和数制转换
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=1+︱X︱-1 (1)纯小数原码定义为: [X]原={ 2n-X=2n+︱X︱-2n X0<=X<2n (2)纯整数原码定义为: [X]原={ 2+X-1<=X<0 X0<=X<1 (3)纯小数补码定义为: [X]补={ X0<=X<2n (4)纯整数补码定义为: [X]补={ (2-2-n)+X-1 X0<=X<1 (5)纯小数反码定义为: [X]反={ X0<=X<2n (2n+1-1)+x-2n (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。 二、定点除法运算 略,学生自学。 ●浮点运算和逻辑实现 一、浮点加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 数据格式