2.1 数据表示

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[+0]原 =00000000 [-0]原 =10000000
符号位
定点小数的原码形式为x0.x1x2… xn
[X]原=
X
1 >X ≥0
1-X=1 +|X| 0≥X>-1
使用8位二进制表示
x=+0.1001,则 [X]原 =0.1001000 x=-0.1001,则 [X]原 =1.1001000
1.数的定点表示法:
定点小数:
将小数点固定在符号位(x0表示符号位,为0代表正号,1
代表负号)之后,数值最高位之前,就是定点小数形式,其格
式如下: x0 x1 x2 x3 … xn-1 xn
符号
小数点固定于符号之 后,不需专门存放位置
量值
若字长为n+1位,则定点小数x的表示范围为:
-0.11‥‥‥11 ~ 0.11‥‥‥11
即:
0≤|x|≤1-2-n
定点整数: 将小数点固定在最低位之后,其格式如下:
x0 x1 x2 x3 … xn-1 xn
符号
量值
小数点固定于最后 一位之后,不需专
门存放位置
若字长为n+1位,则定点整数x的表示范围为:
-11‥‥‥11
即: 0≤|x|≤2n-1
~ +11‥‥‥11
目前计算机中多采用定点纯整数 表示,因此将定点数表示的运算简 称为整数运算。
(B2F)16= B×162 + 2×161 + F×160 练习=:11将×(116120+112.×00116)12转+ 换15成×十1进60制数 = 2816 + 32 + 15 = (2863)10
十进制数转换成非十进制数
整数部分采用“除基取余法”:
用相应的基数连续去除该十进制整数,直至商等于“0”为止, 并记下每一次相除所得到的余数,然后逆序排列余数(第一次 得到的余数为最低位,最后一次得到的为最高位)从而构成转 换后对应的非十进制整数。
采用(“R1(位102权1,=1法8.10”,*02:1164)即+)2 1把→*非23十+R0进(*制212数0+)写1*成2各1+自1*的2按0 权展开 式,然后按十进制运算原则求和,其和值就是转换 后对应的十进+制0*数2。-1+0*2-2+1*2-3 =16+8+2+1+0.125
【例1】将十=六(进27制.1数25B)2F10转换成十进制数。
教学要求:
①掌握:数据的表示、定点和浮点运算。 ②理解:运算器的功能与组成,运算器的工作
原理。 ③了解:运算器的设计。
2.1 数据与文字的表示方法
复习:数制 2.1.1 数据格式 2.1.2 数的机器码表示 2.1.3 字符与字符串的表示方法 2.1.4 汉字的表示方法 2.1.5 校验码
知识复习
IEEE 754标准格式浮点数规格化表示原则: 尾数最高有效位为1,隐藏,并且隐藏在小数 点的左边。
64位双精度浮点数
IEEE 754标准
E:含阶符的阶码,11

E=e+ 1023
S:1位符号

M:尾数,52位小

练习:将数+0.10100110111×2+101采用64位浮点数格式存储
例1:32位浮点机器数 (41360000)16,求真值
)16
(F7)16
=(
)2
(132.4)8
=(
)2
计算机中数据分类及表示方法
数字、文字、符号、 语音、 图形、 图像 等统称为数据。在计 算机内,都必须用数 字化编码的形式被表 示、 存储、 加工和 传送。
1.数值数据 2.符号数据
2.1.1 数据格式
计算机中常用的数据表示格式有两种:
定点格式:小数点位置固定,容许的数值 范围有限,但要求的处理硬件比较简单; 通常将数据表示成纯小数或纯整数。 浮点格式:小数点位置不固定,容许的数 值范围很大,但要求的处理硬件比较复杂
非十进制数之间的转换
(1)二进制数转换为八进制数
从小数点开始分别向左或向右,将每3位二进制数分成1组,不 足3位数的补0,然后将每组用1位八进制数码表示即可。
(2)八进制数转换为二进制数
将每位八进制数用3位二进制数码表示即可。
(3)二进制数转换为十六进制数
从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4 位的补0,然后将每组用一位十六进制数码表示即可。
2 13
26 23
1 0 1
1
(55)10 =(1 1 0 1 1 1 ) 2
【例3】将整数125 转换成对应的十六进制整数

则得:(125)10 = (7D)16
【例4】将十进制数 0.6875 转换成对应的二进制数
0.6875 X2
1.3750
1
X2
0.7500
0
X2
1.500
1
X2
1.0000
常用的数制
十进制(Decimal)、 二进制(Binary)、
八进制(Octal)和十六进制(Hexadecimal)。
计数制 基数 数 码
进位关系
标识
十进制 10 0、1、2、3、4、5、6、7、8、9 逢十进一 D
二进制 2
0、1
逢二进一
B
八进制 8 0、1、2、3、4、5、6、7 逢八进一
O
十六进制 16 0、1、2、3、4、5、6、7、8、9
A、B、C、D、E、F
逢十六进一 H
思考
计算机内部为什么采用二进制数制?
表1.1 二进制与其他进制的对应关系
二进制 十 八 十六
0
000
1
111
10
222
11
333
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 8 10 8
2.1.2 数的机器码表示
数的机器码表示 真值:一般书写的数(带“+”“-”号的数) 机器码:机器中表示的数, 要解决在计算机内 部数的正、负符号和小数点运算问题。
原码: 0 — — “+”,1 —— “-”,用二进制 表示数值
反码: 在原码基础上符号位不变,其他按位取反 补码: 反码+1 移码: 补码符号位取反,其他位不变
3F
1.9
6
(1111110001.1001011)2 =(3F1.96)16
练习:请完成下列各进制之间的转换
(11111111.11)2 = (
)10
(3506.2)8
=(
)10
(0.2A)16
=(
)10
(1011010.10)2 = (
)8
(1011010.10)2 = (
小数部分采用“乘基取整”法:
连续用基数去乘以该十进制小数,直至乘积的小数部分等 于“0”或达到一定精度为止(“0舍1入”),并记下每一次 相乘所得到的整数部分,然后顺序排列每次乘积的整数部分, 从而构成转换后对应的非十进制小数。
【例2】将十进制整数55 转换成对应的二进制整数
55
2
1
2 27
1
思考题
如果某机字长16位,求它所能表 示的定点小数和定点整数的范围?
非常大和非常小的数
2×10+33 = 0.2 ×1034 9×10-28 = 0.9 ×10-27
数的科学表达法
在定点计算机中由于太大 或太小数N无法直接存贮 ,我们将其先写成一个纯 小数乘上一个指数值的形 式。
2、浮点数的表示方法 一个R进制数N可以写成 N=M×Re
=+1011.011=(11.375)10
例2:真值20.59375,求32位单精度浮点数表示
① 分别将整数和分数部分转换成二进制数 20.59375=10100.10011
② 移动小数点,使其在第1、2位之间 10100.10011=1.010010011×24 e=4 E=4+127=131=10000011 S=0 M=010010011
M尾数:是一个带符号的纯小数,由它确定表示数的符号及 其精度,显然,尾数越长,精度越高。
e指数:浮点的阶码,是一个带符号的整数。由它确定尾数的 小数点的位置,阶码愈长,所能表示的数的范围愈大。 R基数:对于二进制数值的机器这是一个常数2。
这种把任意一个数N的有效数字M和数的范围e在计算机 的一个存储单元中分别予以存贮的方法,叫浮点表示法。 浮点数的小数点位置随比例因子e的不同而在一定范围内 自由浮动 。
早期计算机表达法
阶码和尾数均用补码表示
例:浮点数:+0.10100110111×2+5 采用上面格式存储为: 0101010100110111 (字长16位)
IEEE 754标准格式
N= (-1)s×1.M×2e
E=e+(2k-1-1)
(k为阶码的位数)
32位单精度浮点数
E:含阶符的阶码,8 位阶
① 十六进制数展开成二进制数
0 100 0001 0011 0110 0000 0000 0000 0000
S 阶码E(8位)
尾数M(23位)
② 指数e=阶码-127 =1000 0010-01111111 =00000011=(3)10
③ 包括隐藏位1的尾数1.M =1.011011
④ X=(-1)s×1.M×2e =+(1.011011)×23
1001 9 11 9 1010 10 12 A 1011 11 13 B 1100 12 14 C 1101 13 15 D 1110 14 16 E 1111 15 17 F 10000 16 20 10 10001 17 21 11 10010 18 22 12
复习: 各种数制间的相互转换
非十进制转换成十进制 (各位按权展开求和)
码采用移码方式来表示正负
指数:E=e+127
S:1位符号

0表示正数 1表示负数
M:尾数,23位小
数表示,小数点放 在尾数域最前面
例:将数+0.10100110111×2+101采用IEEE32位浮点数格式存储
解:+0.10100110111×2+101 =+1.0100110111×2+100
S=0 E= (100)2 +127=131=10000011 M= 0100110111 其存储为: 0 10000011 01001101110000000000000
1
(0.6875)10 =( 0.1 0 1 1 )2
【练习】将十进制数125.625 转换成对应的二进制数。
因为 (125)10 =(思1考11:1还10有1什)么2 方 (0.625)10 =法换(可成0.以二10将进1十制)进数2 制?数转
所以 (125.625)10 =(1111101.101)2
(4)十六进制数转换为二进制数
将每位十六进制数用4位二进制数码表示即可。
【例6】将(1110110)2 转换为八进制
001 110 110
1
6
6
即: (1110110)2 =(166)8
【例7】将(1111110001.1001011)2 转换为十六进制数。
0011 1111 0001 . 1001 0110
③ 得到32位浮点数的二进制存储格式为: 0 100 0001 1010 0100 1100 0000 0000 0000 =(41A4C000)16
练习
1. 代码(BE580000)16是采用单精度格式保存 的浮点数,求其十进制真值。
2. 有一个十进制数100.25,请将它转换成单 精度浮点数格式。
1、原码表示法
符号位
定点整数的原码形式为x0x1x2… xn
Leabharlann Baidu
[X]原=
X
2n >X ≥0
2n-X=2n+|X| 0≥X>-2n
使用8位二进制:[105] 10=[01101001]2 X=+105,则 [X]原 =01101001 X=-105, 则 [X]原 =11101001 0使用原码有两种表达形式
信计1091-1092
任课教师: 叶晓霞
广东海洋大学信息学院计算机系 E-mail:xiaoxia7761@yahoo.com.cn
目录
☼ 第一章 计算机系统概论 (2) ☼ 第二章 运算方法和运算器(10) ☼ 第三章 内部存储器 (8) ☼ 第四章 指令系统 (4) ☼ 第五章 中央处理机 (8) ☼ 第六章 总线系统 (4) ☼ 第八章 输入输出系统 (4)
在计算机中对数据进行运算操作时,符号位如何表示呢? 是否也同数值位一道参加运算操作呢?
为了妥善的处理好这些问题,就产生了把符号位和数字 位一起编码来表示相应的数的各种表示方法,如原码、 补码、反码、移码等。为了区别一般书写表示的数和机 器中这些编码表示的数,通常将前者称为真值,后者称 为机器数或机器码。
浮点数与定点数的比较: 当浮点数的尾数为0,或者当阶码的值遇到比它能表示的
最小值还小时,不管其尾数为何值,计算机都把该浮点数看 成零值,称为机器零。相同的情况下浮点数所表示的范围远 比定点数大。
一台计算机中究竟采用定点表示还是浮点表示,要根据 计算机的使用条件来确定。一般在高档微机以上的计算机 中同时采用定点、浮点表示,由使用者进行选择,而单片机中 多采用定点表示。
相关文档
最新文档