版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 计算机中的数据表示计算机中的数据表示 计算机硬件能够直接识别可以被计算机硬件能够直接识别可以被指令系统直接调用的数据类型指令系统直接调用的数据类型,包括包括数值数据和非数值数据数值数据和非数值数据两大类。两大类。 定点整数 定点小数 高级语言程序员角度 图、树、链表等结构化数据描述 文字、图、表、声音、视频等各种媒体信息 输出设备 用户角度 输入设备 低级语言程序员和系统设计者角度 数值型数据数值型数据 二进制编码表示的各种数据 指令系统能识别的基本类型数据 非数值型数据非数值型数据 定点数 浮点数 二进制数 二进制编码的十进制数 逻辑数据 西文字符和汉字 数值数据的表示主要内容
2、 定点数的表示(第一讲)定点数的表示(第一讲)进位计数制进位计数制定点数的二进制编码定点数的二进制编码 原码、补码、反码表示原码、补码、反码表示定点数的表示范围定点数的表示范围 定点整数、定点小数定点整数、定点小数 浮点数格式和表示范围、规格化(第二讲)浮点数格式和表示范围、规格化(第二讲) IEEE 754IEEE 754浮点数标准浮点数标准 C C语言程序中的整数类型、浮点数类型(补充)语言程序中的整数类型、浮点数类型(补充) 十进制数表示十进制数表示2.1 数值数据的表示数值数据的表示2.1.1 2.1.1 进位计数制及相互转换进位计数制及相互转换一进位计数制一进位计数制 任意一个数任意
3、一个数N=Nn-1Nn-2N1N0 . N-1N-2N-m,则其值为,则其值为1011()nmmiiiRiiiiii nNN RN RN R 二进位计数制之间的转换二进位计数制之间的转换1将将R进制的数转换为十进制数进制的数转换为十进制数 将各位数字与它的权相乘,其积相加将各位数字与它的权相乘,其积相加, , 就可得到十进制数。公式为:就可得到十进制数。公式为:1miii nN R 例例2.1: (111.001)2 = 122+121+120 + 12-3 = (7.125) 10(15.4)8 = 1 81 + 5 80 + 4 8-1 = (13.5)10(3A.D)16 = 3 161
4、 + 10 160 + 1316-1 = (58)102将十进制数转换为将十进制数转换为R进制数进制数 (1)整数部分的转换()整数部分的转换(除基取余除基取余法):法):将被转换的十进制数连续除以将被转换的十进制数连续除以R取其余取其余数,直到商等于数,直到商等于0为止。每次所得余数为止。每次所得余数即为即为R进制的数(第一次余数为低位)。进制的数(第一次余数为低位)。例例2.2 将将N =(123)10 转换成二进制数。转换成二进制数。 则则(123)10=(1111011)2 2 1 2 3 2 6 1 余 1 2 3 0 余 1 2 1 5 余 0 2 7 余 1 2 3 余 1 2
5、1 余 1 0 余 1 (低位) (高位) 当需要转换的十进制数值比较大时,可当需要转换的十进制数值比较大时,可采用以下两种方法进行转换:采用以下两种方法进行转换:1) 在需要转换的十进制数中,找出在需要转换的十进制数中,找出最大的最大的具有具有2的幂的数,在相应位置写的幂的数,在相应位置写1;从十进制数中;从十进制数中减去这个数,继续这样做,直至转换完成。减去这个数,继续这样做,直至转换完成。例:例:123=26+25+24+23+21+20=11110112) 将十进制数先转换为八进制数,然后再转换将十进制数先转换为八进制数,然后再转换为二进制。为二进制。(2)小数部分的转换()小数部分的
6、转换(乘基取整乘基取整法)法) 将被转换的十进制数连续乘以将被转换的十进制数连续乘以R,取其,取其整数,直到小数部分为整数,直到小数部分为0或达到要求的或达到要求的精度为止(第一次整数为高位)。精度为止(第一次整数为高位)。 0.625 2 1.250 2 0.500 2 1.000 1 (高位) 取整数部分 0 1 (低位) 例例2.5 将将N = (0.625)10 转换成二进制小数转换成二进制小数则:则:(0.625)10 = (0.101)2例例2.6 将将N = (0.385)10转换成八进制小数转换成八进制小数0.385 8 3.080 8 0.640 2 5.120 3 (高位)
7、 取整数部分 0 5 (低位) 则:则:(0.385)10 = (0.305)83. 二进制与八、十六进制数之间的转换二进制与八、十六进制数之间的转换(1)二进制数转换为八、十六进制数)二进制数转换为八、十六进制数方法:方法:以小数点为中心,向左右两边延以小数点为中心,向左右两边延伸。八进制按三位一组划分,十六进制按伸。八进制按三位一组划分,十六进制按四位一组划分。四位一组划分。例例2.7 (110101.001)2 = (65.1)8 = (35.2)16(0.011111101)2 = (0.375)8 = (0.7E8)16(2)八、十六进制数转换为二进制数)八、十六进制数转换为二进制数
8、方法:方法:将每一位八将每一位八/十六进制数用三位十六进制数用三位/四位二进制数代替即可。四位二进制数代替即可。例例2.8 (46.5)8=(100110.101)2(86.A)16=(10000110.1010)22.1.2 数的符号表示数的符号表示一、真值与机器数一、真值与机器数 真值真值:带正、负号的数的实际值,如:带正、负号的数的实际值,如3,5等。等。 机器数机器数:数在计算机中的二进制表示:数在计算机中的二进制表示形式。形式。 形式值、真值形式值、真值二、二、 数的符号表示数的符号表示1、无符号数、无符号数 机器数的所有二进位都用来表示数机器数的所有二进位都用来表示数值,称为无符号
9、数。值,称为无符号数。 0000000011111111(0 255) 如用如用an-1an-2a1a0表示一个无符号表示一个无符号 整数,则其值为整数,则其值为 n 1iii=0A=2a 2、有符号数、有符号数 数的符号也数值化,一般规定数的符号也数值化,一般规定0代代表正数,表正数,1代表负数。通常这个符号放在代表负数。通常这个符号放在二进制数的最高位,称为二进制数的最高位,称为符号位符号位。三三、有符号数的编码有符号数的编码 1、原码表示法、原码表示法(符号绝对值表示法符号绝对值表示法) 机器数的最高一位表示符号,机器数的最高一位表示符号,0表示表示 正数,正数,1表示负数,其余部分为数
10、的幅值表示负数,其余部分为数的幅值 (绝对值)。(绝对值)。 举例:举例:x=0.1011 x原原= x=- 0.1011 x原原= x=+1011 x原原= x=-1011 x原原= 一般形式:一般形式: X=0.Xn .X1 X原原= 0.Xn .X1 X=0.Xn .X1 X原原= 1.Xn .X1 X=Xn .X1 X原原= 0Xn .X1 X=Xn .X1 X原原= 1Xn .X1(1)原码定义(假设机器数包括符号位)原码定义(假设机器数包括符号位 n+1位)位) X= Xn.Xn-1Xn-2X0(小数)(小数) X= XnXn-1Xn-2X0 (整数)(整数)X原原=X原原= X
11、0X11 X=1+|X| 1X0X 0X2n2n X=2n+|X| 2nX0小数小数整数整数(2)原码与真值的转换原码与真值的转换 由真值求原码由真值求原码:当真值为正时,:当真值为正时, 原码与真值相同;当真值为负时,原码与真值相同;当真值为负时, 只需将负号用只需将负号用1表示,数值部分不表示,数值部分不 变。变。 由原码求真值由原码求真值:正数原码与真值相:正数原码与真值相 同,负数只需将原码的符号位同,负数只需将原码的符号位1改改 用负号用负号“”表示,数值部分不变。表示,数值部分不变。 例例2.11 X原原0.1101 X0.1101 X原原1.1101 X0.1101X原原0110
12、1 X+1101X原原11011 X1011 (3 3)原码的特点)原码的特点(假设机器数包括符号假设机器数包括符号位位n+1位位)0 0的表示的表示 小数小数 整数整数 +0原原= +0原原= - 0原原= - 0原原= 小数小数 n n n0X1 2 (1 2)X1 2 整数整数nnn0X2 1 (2 1)X2 1 原码的表数范围原码的表数范围2、补码表示法、补码表示法 (1)模和同余的概念。)模和同余的概念。 模:一个计量器的容量或一个计量模:一个计量器的容量或一个计量单位叫做模或模数,记作单位叫做模或模数,记作M。例如:对于时钟,模为例如:对于时钟,模为12。 6-3=6+9(mod
13、12)同余:设两整数同余:设两整数a、b可用同一个正可用同一个正整数整数M去除而余数相同,则称去除而余数相同,则称a、b对对M同余,记作同余,记作a=b(modM)912 - 3 -3=1+121212 3=9(mod 12)具有同余关系的两个数具有互补关具有同余关系的两个数具有互补关系。系。 从上面的例子可以看出:从上面的例子可以看出: 只要知道模的大小,求负数的补码只要知道模的大小,求负数的补码 的方法是模加上该负数。的方法是模加上该负数。 例例 12+(-3)=9; 减法运算可以转换为加法运算减法运算可以转换为加法运算 例例 9+(-5)=9 - 5=9+7=4 (mod 12)故补码的
14、表示方法:故补码的表示方法:X补补M+X(2)补码定义)补码定义(包括符号位包括符号位n+1位)位)2n+1+X 2nX0 小数小数 X 0X1 2+X 1X0 X补补= 整数整数 X 0X2n X补补= (3)补码与真值的转换)补码与真值的转换由真值求补码由真值求补码 根据定义(根据定义() 由由X原原求补码求补码 正数:补码和原码相同正数:补码和原码相同 负数:原码除符号位外求反加负数:原码除符号位外求反加1 简便方法简便方法:符号位不变,数值部:符号位不变,数值部分由低位向高位,对遇到的分由低位向高位,对遇到的0和第一个和第一个1取其原码,从第一个取其原码,从第一个1以后直到最高位以后直
15、到最高位均按位取其反码。均按位取其反码。例例1: x=0.1011 x=-0.1011 x原原= x原原= x补补= x补补=例例2 : x=+1011 x=-1011 x原原= x原原= x补补= x补补=例例3: x原原=11010 x原原=11100 x补补= x补补=由补码求真值由补码求真值(负数负数) 补码除符号位外求反加补码除符号位外求反加1得到原码,得到原码,然后由原码得出真值。然后由原码得出真值。 例:例:x补补=10101,x原原= x= 补码表数范围补码表数范围 根据补码定义根据补码定义 1补补=2 1=10.000 1.000 =1.000 128补补=28 128=10
16、0000000 10000000=10000000 +0补补 =0.000 +0补补=0000 - 0补补=0.000 -0补补=0000 小数小数 n 1X1 2nn 2X2 1 整数整数 3、反码表示法、反码表示法 小数小数 X反反= X 0X1 (2 2 n)+X 1X0 X 0X2n (2n+1 1)+X 2nX0 X反反=整数整数则则 X=0.1011 X反反=0.1011 X= 0.1011 X反反=1.0100 +0反反=0.00 +0反反=000 0反反= 0反反= 反码表示中零有两种编码,表数反码表示中零有两种编码,表数范围对称。范围对称。4、三种编码的比较、三种编码的比较2
17、.1.3 数的小数点表示数的小数点表示 一一、定点表示法定点表示法 定点表示约定所有数据小数点的定点表示约定所有数据小数点的 位置固定不变。位置固定不变。 1、定点小数、定点小数 小数点固定在最高有效数字之前,小数点固定在最高有效数字之前, 符号位之后,则该数为一纯小数。符号位之后,则该数为一纯小数。NS . N1 N2.Nn 2、定点整数、定点整数 小数点固定在最低有效数字之后,则小数点固定在最低有效数字之后,则该数为整数。该数为整数。NSN1 N2Nn.小数小数 原码原码 n n (1 2)N1 2 整数整数 nn (2 1)N2 1 3、定点数的表数范围、定点数的表数范围(字长为字长为n
18、+1位位)小数小数 补码补码 整数整数 n 1N1 2nn 2N2 1 小数小数 反码反码 整数整数 n n (1 2)N1 2nn (2 1)N2 1 例如例如368000000000000可表示成可表示成 3.681014,而,而0.0000000000000368可表可表示成示成3.6810 14。 浮点表示法就是一个数的小数点的浮点表示法就是一个数的小数点的位置不固定,可以浮动。位置不固定,可以浮动。 对于任一数对于任一数N可表示成:可表示成:二、浮点表示法二、浮点表示法 1、表示形式、表示形式EeN=RM=Rm E(Exponent):浮点数的阶码,定点:浮点数的阶码,定点整数。早期
19、的计算机系统整数。早期的计算机系统E用补码表示,用补码表示,此时需设置符号位。现在计算机此时需设置符号位。现在计算机E多用移多用移码表示。码表示。 M(Mantissa):浮点数的尾数,定点:浮点数的尾数,定点小数,尾数的符号表示数的正负,用补码小数,尾数的符号表示数的正负,用补码或原码表示。或原码表示。 R(Radix):阶码的底,又称为:阶码的底,又称为尾数的基值。基值尾数的基值。基值R在计算机中一在计算机中一般为般为2、8、或者、或者16,是个常数,在,是个常数,在系统中是事先隐含约定的,不需要系统中是事先隐含约定的,不需要用代码表示。用代码表示。符号符号阶码阶码尾尾 数(有效数)数(有
20、效数) 2、表数范围、表数范围 设设l和和n分别表示阶码和尾数的位分别表示阶码和尾数的位数数(均不包括符号位均不包括符号位)基值为基值为2,阶码和,阶码和尾数均采用原码表示,则浮点数的表尾数均采用原码表示,则浮点数的表数范围是:数范围是: ll2-1 - n2 - 1 - n -2(1 -2) N 2(1 - 2) ) )2 2( (1 12 2N N0 0n n1 12 2l l 如用如用32位表示一个浮点数,数符占位表示一个浮点数,数符占1位,阶码位,阶码8位,尾数位,尾数23位,则此浮点数位,则此浮点数的表数范围为:的表数范围为:772 1 232 1 23 2(1 2)N2(1 2)
21、取值范围近似为取值范围近似为2127,相当于,相当于1038。定点数定点数 3131 (2 1)N2 1 32位定点整数的表示范围位定点整数的表示范围 32位浮点数的表示范围位浮点数的表示范围 阶码指出小数点在数据中的实际阶码指出小数点在数据中的实际位置,决定浮点数的表数范围;尾数位置,决定浮点数的表数范围;尾数给出有效数字的位数,它决定浮点数给出有效数字的位数,它决定浮点数的表数精度。的表数精度。阶码,尾数位数的阶码,尾数位数的 分配分配最小最小正数正数最大最大正数正数有效数有效数字位数字位数 e=2 m=4127152 4 e=3 m=31210 112 3 e=4 m=21217 245
22、76 2 表表2-1 非规格化浮点数表数范围非规格化浮点数表数范围 3、基值选择、基值选择 N=8E M N=16E M R=2 -263(1-2-24) N 263(1-2-24) R=16 -1663(1-2-24) N 1663(1-2-24) 精度降低精度降低4、规格化浮点数及其表数范围、规格化浮点数及其表数范围 一个浮点数可以有多种形式,如一个浮点数可以有多种形式,如 200.011010 =210.001101 =2-10.110100 为使浮点数表示唯一,提高表数为使浮点数表示唯一,提高表数及运算精度,采用规格化浮点表示。及运算精度,采用规格化浮点表示。 当当R=2时,规格化表示
23、的尾数形式为:时,规格化表示的尾数形式为: 正数:正数:0.1(表示任意表示任意) 负数负数(原码原码):1.1 负数负数(补码补码):1.0 规格化操作规格化操作 规格化浮点数的表数范围规格化浮点数的表数范围: R=2,正数,正数 ,最大值,最大值 0.111 最小值最小值 0.100 1/2m0负数,原码,最大值负数,原码,最大值 1.100 最小值最小值 1.111 补码,最大值补码,最大值 1.011 最小值最小值 1.000 -1m -1/2 m0 (原码原码) -1m -1/2 m0 (补码补码) R=8, 1/8 m 1 或或 -1m -1/8 R=16,1/16 m 1 或或
24、-1 m-1/16 例:阶码例:阶码7位,阶符位,阶符1位,尾数位,尾数23位,位,R=2,阶码和尾数均采用补码,阶码和尾数均采用补码表示,表数范围为:表示,表数范围为:128 -1127 -2322N2(1 - 2) 127-128 -1 -2N -22 正数正数 负数负数 5、移码、移码 便于浮点运算阶码比较及表示机器零便于浮点运算阶码比较及表示机器零e未偏未偏e偏偏128 128 00127255 移码定义移码定义 如果阶码为如果阶码为n+1位位 (包括一位符号位包括一位符号位),则其移码定义为则其移码定义为 X移移=2n+X, -2nX2n - 1 如如n=7,则,则X移移=128+X
25、,-128X127 x210.1011,y200.0101 x移移 x 0 1282551280127图图2-7 数轴上的移码表示数轴上的移码表示 移码性质移码性质 移码与真值、补码的对应关系移码与真值、补码的对应关系二进制真值二进制真值X X补补 X移移1000000001111111 00000001 00000000 00000001 01111111 10000000 10000001 11111111 00000000 00000001 01111111 00000000 00000001 01111111 10000000 10000001 11111111011271281292
26、55128127101127 N=MRE 1) M=0,N=0; 2) E 2n时,时,M0,一般以,一般以N=0处理。处理。 机器机器0:同时具有:同时具有0的尾数和最小阶码的尾数和最小阶码1 00 0 0 00 00 0 0 0补码移码 x移移=2n+x y移移=2n+y x移移+y移移=2n+x+2n+y=x+y (mod 2n+1) x移移+y移移+2n=2n+(x+y)= x+y移移 同理同理x移移- y移移+2n =2n+(x - y) = x - y移移 y补补=2n+1+y (整数补码整数补码)则则x移移+y补补=2n+x+2n+1+y =2n+1+(2n+x+y) =x+y移
27、移 (mod2n+1)同理同理x移移+ y补补=x y移移(b) 双精度格式双精度格式图图2-8 IEEE 754格式格式 阶码阶码尾数尾数8位位23位位11位位52位位阶码阶码尾数尾数(a) 单精度格式单精度格式符号位符号位符号位符号位 6、IEEE 754标准标准参数参数 单精度单精度 总位数总位数 阶码位数阶码位数 阶码偏移阶码偏移 最大阶码最大阶码 最小阶码最小阶码 数的范围数的范围 尾数位数尾数位数 阶码数目阶码数目 尾数数目尾数数目 值的数目值的数目 32 8 127 127 126 1038 23 254 223 1.98231符号符号 偏移阶码偏移阶码尾数尾数 值值正零正零负零负零正无穷大正无穷大负无穷大负无穷大非数非数(N(Na aN)N)正规格化非零数正规格化非零数负规格化非零数负规格化非零数正非规格化数正非规格化数负非规格化数负非规格化数01010或或1010100255 (全(全1)255 (全(全1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度老旧钢房拆除安全协议书
- 2025版个人土地租赁合同解除协议
- 2025年度个人信用借款合同绿色金融推进协议4篇
- 2025年度个人一手房买卖合同配套设施清单范本4篇
- 2025年度个人教育培训抵押借款协议
- 2025年全球及中国半导体设备用滤波器行业头部企业市场占有率及排名调研报告
- 2025-2030全球连供无线双面打印一体机行业调研及趋势分析报告
- 2025年全球及中国气调贮藏库用库门行业头部企业市场占有率及排名调研报告
- 2025年全球及中国产权制作软件行业头部企业市场占有率及排名调研报告
- 2025年度生物技术成果转化合同规范范本2篇
- (二模)遵义市2025届高三年级第二次适应性考试试卷 地理试卷(含答案)
- 二零二五隐名股东合作协议书及公司股权代持及回购协议
- 四川省成都市武侯区2023-2024学年九年级上学期期末考试化学试题
- 2025年计算机二级WPS考试题目
- 教育部《中小学校园食品安全和膳食经费管理工作指引》知识培训
- 初一到初三英语单词表2182个带音标打印版
- 《人力资源管理》全套教学课件
- 2024年秋季人教版七年级上册生物全册教学课件(2024年秋季新版教材)
- 年度重点工作计划
- 《经济思想史》全套教学课件
- 环境卫生学及消毒灭菌效果监测
评论
0/150
提交评论