第2章数据的机器层次表示(2016)
2-3 数据的机器层次表示

例1:当 x = +1010111 时, 设字长为8位 [x]移= 27 + x = 27 + 1010111 = 1,1010111 ; 例2:当 x = -1010100 时, 设字长为8位 [x]移= 27 + x = 27 – 1010100 = 0,0101100
X = (-1)s×(1.M)×2E-127
作业3
P53:11 P53:13 P53:15 P53:17(1)
(IEEE 754 浮点格式)
(下次课交作业)
2n+2
2n+3
浮点数虽然扩大了数的表示范围,但这正是以降低精 度为代价的,也就是数轴上各点的排列更稀疏了。
数的运算
浮点运算要比定点运算复杂得多
定点机与浮点机
定点机
以定点运算为主,浮点运算是通过软件来实现的。
定点机+浮点运算部件
浮点运算部件(FPU)是专门用于对浮点数进 行运算的部件。
原码尾数的规格化的表现形式: 尾数的最高数值位=‗1‘ 补码尾数的规格化的表现形式: 尾数的最高数值位与符号位相反 正数 0.1xxxxxx 负数 1.1xxxxxx 正数 0.1xxxxxx 负数 1.0xxxxxx
其他位不能全为0
规格化浮点数的表示范围
es 2k-1 … 1 0 20 ms 2-1 0 0 1 0
0 1
阶码部分E
尾数部分M
−2k X最小正数=2 −n×2
−2k
2−n
注意
浮点数的表示范围——绝对值最大负数
N= M × 2E
当es=0,阶码的数值位为全1;ms=1,尾数的数 值位为全0(即阶码为最大正数,尾数为绝对值最
计算机体系结构第二章 数据表示与指令系统2

第二章准备
数据结构:堆栈的描述与操作 汇编语言:子程序调用(堆栈的应用) 组成原理:进制转换、浮点数表示
一、数据表示
1、数据表示与数据结构 数据表示:指可由硬件直接辨认的数据类型 数据结构=数据表示+结构关系
(硬件) (软件)
高级语言与传统指令的数据表示对比
不等的事件时,按照短代码给高概率事件、把长代码 给低概率事件的原则分配,可使平均码长达到最低。
(2) Huffman压缩编码方法
Huffman编码方法 这种编码方法由两个过程组成。 频度合并: 码元分配:
从小到大排序, 最小两个合并, 重复上述过程, 只剩一个结束。
现设一台模型机,共有7种不同的指令,使用频度如表所示。 若用定长操作码表示,则需要3位。
为减少此信息冗余量,改用
1.00
哈夫曼树:
1
0.60
1Байду номын сангаас
0.30
1
0
0.15
1
0
0 0
0.06
0.09
1
010
0.03 0.03 0.04 0.05
I7 I6 I5 I4
0.15 0.30 0.40
I3 I2 I1
∑Pili=0.40*1+0.30*2+0.15*3+0.05*5+0.04*5+0.03*5+0.03*5 =2.20(位)
(2)绝大多数指令需要多个机器周期方可执 行完毕
(3)各种指令都可访问存储器 (4)采用微程序控制 (5)有专用寄存器 (6)难以用优化编译器生成高效的目标代码
RISC(Reduced Instruction Set Computer) 简化指令功能,提供最必要的操作, 功 能弱
《计算机体系结构》第二章

1 A Λ
A
2 B A Λ
B
顶 次顶
3
+
A+B Λ 顶
4
C
C A+B Λ
5
*
(A+B)*C Λ
6 D M Λ
D
7 E D M
E
8 F E D M Λ
F
9
+
E+F D M Λ
10
/
11
-
D/(E+F) M Λ
(A+B)*C-D/(E+F) Λ
Λ
五、浮点数尾数的基值(rm)选择 1. 浮点表示 p N = S × r 浮点数的一般形式 r 基数(基值rm ) S 尾数(含小数点) p 阶码 计算机中 r 取 2、4、8、16 等 。 如:0.235×81 当r=2
如: 稀疏向量
a0
0
0
a3
0
a5
a6
0
有序位向量: 占用5个单元 节省3个单元
1
0
0
1 56
0
1
1
0
-112 78 34
压缩向量
a0= 56 a3= -112 a5= 78 a6= 34
目的:*可节省存储空间;
*实际长度减少可加快运算速度。
四、堆栈数据表示
1. 含义:凡是按先进后出方式工作的特殊(存储)区 域称为堆栈。 2. 堆栈组成方式: 1)寄存器堆栈,全由寄存器构成,速度快,扩充栈容 成本高。 2)寄存器与存贮器结合堆栈。 ①寄存器速度快作栈顶(需数个栈顶寄存器)。 ②存贮器价格低扩充栈容易。 3. 堆栈的生长方式 通常采用向下生长方式:压入数据后,堆栈指针SP向 地址减少方向变化。
ch2-2 非数值数据的机器层次表示

■
ASCII码
■
2.字符串的存放
字符串:IF X>0 THEN READ (C)。 ⑴向量法 ☺字符连续存放,占用一片连续的存储空间 ☺每个字符占用一个字节存储空间,字符串的所有 元素(字符)在物理上是邻接的。
» 一个存储单元不等于一个字节,如32位机器一个存储 单元为4个字节,可以存放四个字符。
»可扩展为4字节表示:UCS-4
»BMP中预留两个1024的块。 »单独的预留块的编码不表示任何字符,两个1024 个编码组成一个二维数组,可表示210×210=220个 字符。 UCS-2:65536 - 2×1024
■
UNICODE编码
2.实现方式 Unicode的实现方式不同于编码方式。一个字 符的Unicode 编码是确定的,但是在实际传输过程 中,由于不同系统平台的设计不一定一致,以及 出于节省空间的目的,对Unicode编码的实现方式 有所不同。Unicode的实现方式称为Unicode转换格 式(Unicode Translation Format,简称为UTF), 目前存在的UTF格式有:UTF-7,UTF-7.5,UTF8,UTF-16以及UTF-32。
■
Southwestern University
☺个字节中实际存放的是相应字符的ASCII码。
■
2.字符串的存放
I 49 > 3E H 48
F 46 0 30 E 45
20 20 N 4E 41 A
X 58
T 54
20 44 D
R 52 ( 28
E 45
C 43
) 29
20
IF X>0 THEN READ (C)
■
串表示法
第2章 计算机中数据信息的表示和运算-浮点表示

练习: 将X=-19/64表示成浮点规格化数(阶码3位,阶 符1位,尾数7位,尾符1位),阶码采用原码,尾数 用规格化,用补码的形式表示。 定点数:[X]补=1.1011010; X=-19/64=(-10011*2-110)2=-0.010011=2-01*-0.10011 E=-01,E 原=1001; M=-0.1001100,M补=1.0110100 浮点数: 1,001; 1.0110100
例:
32位浮点二进制数,8位为补码表示的阶 码,24位(含1位符号位)为补码表示的规格 化尾数,试指出它所表示的最大正数与最小正 数数据格式。 最大正数:0111 1111 0.111…11 最小正数:1000 0000 0.100…00
3 机器数的移(增)码表示法
定义:设定点整数移码序列Xn Xn-1„„ X0,则, [X]移 = 2n + X 2n>X≥-2n 即无论X是正还是负,一律加上2n,称2n为基数 移码就是在真值X上加一个常数(偏置值),相当于X在数 轴上向正方向平移了一段距离,这就是“移码”一词的 来由。 [X]移=偏置值+X 传统上,对于字长8位的定点整数,偏置值为27。 在IEEE754中,偏置值为(27-1)
•S:浮点数的符号位,0表示正数,1表示负 数 •M:尾数,用原码定点小数表示,小数点放 在尾数域的最前面,且小数点前面隐含一位 1 •E:阶码,用移码来表示,偏置常数为127 (单精度)或1023(双精度)
4 IEEE 754浮点数标准
•真值为: •(-1)s*1.M*2E-127
•或 (-1)s*1.M*2E-1023。
例1:若浮点数X的754标准存储格式(41360000)16 ,求其 浮点数的十进制数值。 解:将16进制数展开后,可得到二进制格式: 0 100 0001 0011 0110 0000 0000 0000 0000 e=E-127=100 0001 0-01111111=00000011=3 包括一位隐含位的尾数 1.M=1. 011 0110 0000 0000 0000 0000 = 1.011011 于是:
课程A:_第2章_数据的机器层次表示

第2章 数据的机器层表示
3.二进制→八进制、十六进制的转换 二进制: 101110011.110 2 2 即 8 8 二进制:
2 6 3
→ 八进制:563.6 8
Байду номын сангаас
2 8
0
2 8
-3
1
0
-1
101110011.1100 → 十六进制:173.C H 2
8
2
4
2
1
0
2
-4
即 16
2
16 16
0
16
-1
第2章 数据的机器层表示
4.进制数的表示方式 1) 用下标加以标注。例如: (1010)2 ,(1010)10 2) 用后缀字母表示不同的进制。 B — 二进制 Q — 八进制 H — 十六进制 D — 十进制 例如:375Q, A17H, 101B
第2章 数据的机器层表示
常用几种进制的对应关系
第2章
数据的机器层表示
数据:1)数值型 (如:无符号数和带符号数) 2)非数值型 (如:符号、文字、校验码等) 数据表示:数据在计算机中使用的二进制编码表示形式。 (机器数)
第2章 数据的机器层表示
第2章
本章重点:
数据的机器层表示
1.进制之间的相互转换是最基本的,应当熟练掌握; 2.定点数的原码、补码、变形补码和反码表示,补码特别注意: ① 最小的补码很特殊,没有对应的原码和反码,可单独记; ② “变补”和“求补码” 概念的不同; ③ 补码乘以2(算术左移)和乘以1/2(算术右移)的结果; 3.浮点数的规格化概念,真值←→浮点数表示形式; 4.奇偶校验码的校验原理及校验位形成方法; 5.学会看原文资料,并熟悉其专业名词和术语。
第2章 数据的机器层次表示

2013年7月14日
东华大学计算机科学与技术学院 by XinLuo
21
原码表示法(公式)
0x
[x]原 =
x 为真值 如 x = +1110
x = 1110
整数
n
2 >x≥ 0
x 0 ≥x> 2
n
2
n
n 为整数的位数
[x]原 = 01110 [x]原 = 24 + 1110 = 11110
2013年7月14日
东华大学计算机科学与技术学院 by XinLuo
22
x
[x]原 =
x 为真值
如 x = + 0.1101
x= 0.1101
1>x≥0
0≥x> 1
[x]原 = 0 . 1101
1–x
小数
用小数点将符号 位和数值位隔开
[x]原 = 1 ( 0.1101) = 1 . 1101 [x]原 = 0 . 1000000 用 小数点 将符号 位和数值位隔开
第2章 数据的机器层次表示
2013年7月14日
东华大学计算机科学与技术学院 by XinLuo
1
本章学习内容
• • • • • • 2.1 数值数据的表示 2.2 机器数的定点表示和浮点表示 2.3 非数值数据的表示 2.4 十进制数和数串的表示 2.5 现代微型计算机中的数据表示举例 2.6 数据校验码
2013年7月14日 东华大学计算机科学与技术学院 by XinLuo 18
机器数
常见的机器数有原码、反码、补码等三种 不同的表示形式。 带符号数的最高位被用来表示符号位,而 不再表示数值位。
2013年7月14日
东华大学计算机科学与技术学院 by XinLuo
数据结构的四个层次-概述说明以及解释

数据结构的四个层次-概述说明以及解释1.引言1.1 概述在数据结构领域,数据可以按照不同的层次进行分类和组织。
这四个层次分别是数据的存储方式、数据的组织方式、数据的访问方式和数据的操作方式。
通过对数据结构的研究和应用,可以更有效地存储、组织和操作数据,提高数据处理的效率和质量。
本文将详细探讨这四个层次在数据结构中的重要性和实际应用,以及未来的发展方向。
通过本文的阐述,读者将对数据结构有更深入的了解,并能够更好地应用数据结构知识解决实际问题。
1.2 文章结构文章结构部分的内容如下:文章结构部分将会介绍本文的组织方式和内容安排。
本文将主要分为三个部分,即引言部分、正文部分和结论部分。
在引言部分,将对数据结构的四个层次进行简单的概述,介绍文章的结构和目的,以及为什么数据结构是计算机科学中至关重要的一部分。
正文部分将分为三个层次来介绍数据结构,分别是数据的存储方式、数据的组织方式和数据的访问方式。
在每个层次中,我们将详细介绍常见的数据结构类型和其特点,以及相关的算法和应用。
最后,在结论部分,将总结各个层次的重要性和作用,探讨数据结构在实际应用中的意义和发展方向。
通过这篇文章,读者将能够更深入地了解数据结构在计算机科学中的重要性和应用。
1.3 目的数据结构作为计算机科学的重要基础知识,其目的在于研究数据的存储、组织和访问方式,以便于高效地对数据进行管理和操作。
通过深入了解数据结构,我们可以更好地理解程序运行的内部机制,提高程序的性能和可维护性。
此外,数据结构的学习也可以帮助我们更好地理解算法设计和分析。
在解决实际问题时,选择合适的数据结构和算法可以极大地提高解决问题的效率和精度。
总的来说,本文的目的是介绍数据结构的四个层次,帮助读者深入理解数据结构的重要性和应用价值,并为进一步学习和研究数据结构奠定良好的基础。
2.正文2.1 第一层次- 数据的存储方式在数据结构中,数据的存储方式是非常重要的一部分。
它主要涉及到如何有效地将数据存储在内存中以便后续的操作和处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 2章
计算机组成原理
2.1 数值数据的表示 2.2 机器数的定点表示与浮点表示 2.3 非数值数据的表示 2.4 十进制数和数串的表示 2.5 不同类型的数据表示举例 2.6 数据校验码
2.2 机器数的定点表示与浮点表示
计算机组成原理
2.2.1 定点表示法 在定点表示法中约定:所有数据的小 数点位置固定不变。通常,把小数点固定在 有效数位的最前面或末尾,这就形成了两类 定点数。 1.定点小数 小数点的位置固定在最高有效数位之 前,符号位之后,记作Xs.X1X2…Xn,这个 数是一个纯小数。定点小数的小数点位置是 隐含约定的,小数点并不需要真正地占据一 个二进制位。
计算机组成原理
3.由真值、原码转换为补码 当X为正数时,[X]补=[X]原=X。 当X为负数时,由[X]原转换为[X]补的方法: ①[X]原除掉符号位外的各位取反加 “1”。 ②自低位向高位,尾数的第一个“1” 及其右部的“0”保持不变,左部的各位取 反,符号位保持不变。 例如:[X]原 =1.1110011000 [X]补 =1.0001101000
计算机组成原理
如果已知机器的字长,则机器数的位数 应补够相应的位。设机器字长为8位,则:
X1=1011 [X1]原=0,0001011 [X1]补=0,0001011 [X1]反=0,0001011 X1=0.1011 [X1]原=0.1011000 [X1]补=0.1011000 [X1]反=0.1011000 X2=-1011 [X2]原=1,0001011 [X2]补=1,1110101 [X2]反=1,1110100 X2=-0.1011 [X2]原=1.1011000 [X2]补=1.0101000 [X2]反=1.0100111
2.1 数值数据的表示
计算机组成原理
若真值为纯整数,它的补码形式为 XsX1X2…Xn,其中Xs表示符号位。 例2:X1=1101 , X2=-1101 [X1]补=0,1101 , [X2]补=1,0011 在补码表示中,真值0的表示形式是唯 一的。 [+0]补=[-0]补=00000 注意
2.1 数值数据的表示
2.1 数值数据的表示
计算机组成原理
模实际上是一个计量器的容量。例如: 一个4位的计数器,它的计数值为0~15, 当计数器计满15之后再加1,这个计数器就 发生溢出,其溢出量为16,也就是模等于 16。 24 23 22 21 20
1 0000 0010 0001 0101 0100 1010 1001 1000 0011 0110 1101 1100 1011 0111 1110 1111
2.1 数值数据的表示
计算机组成原理
2.1.6 3种机器数的比较 (1)对于正数它们都等于真值本身,而 对于负数各有不同的表示。 (2)最高位都表示符号位,补码和反码 的符号位可和数值位一起参加运算;但原 码的符号位必须分开进行处理。
2.1 数值数据的表示
计算机组成原理
(3)对于真值0,原码和反码各有两种 不同的表示形式,而补码只有唯一的一种 表示形式。 (4)原码、反码表示的正、负数范围是 对称的;但补码负数能多表示一个最负的 数(绝对值最大的负数),其值等于 -2n (纯整数)或-1(纯小数)。
注意
2.2 机器数的定点表示与浮点表示
计算机组成原理
当Xs=1,表示X为负数,此时情况要稍 微复杂一些,这是因为在计算机中带符号 数可用补码表示,也可用原码表示。如前 所述,原码与补码所能表示的绝对值最大 的负数是有区别的,所以原码和补码的表 示范围有一些差别。
2.2 机器数的定点表示与浮点表示
注意
2.1 数值数据的表示
计算机组成原理
设机器字长4位(含1位符号位),以纯整数为例: 原码或反码可表示的数
-0 +0
-7
-6
-5
-4
-3
-2
-1
0
+1
+2
+3
+4
+5
+6
+7
7个负数
7个正数
补码可表示的数(多表示一个负数)
-8 -7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5 +6 +7
2.1 数值数据的表示
计算机组成原理
8-2=8+10 (mod 12) 可见,只要确定了“模”,就可找到 一个与负数等价的正数(该正数即为负数 的补数)来代替此负数,而这个正数可以 用模加上负数本身求得,这样就可把减法 运算用加法实现了。 9-5=9+(-5)=9+(12-5)=9+7=4 (mod 12) 65-25=65+(-25)=65+(100-25)=65+75= 40 (mod 100) 将补数的概念用到计算机中,便出现 了补码这种机器数。
注意
2.2 机器数的定点表示与浮点表示
计算机组成原理
20 2-1 2-2
定点小数格式 Xs X1 X2
小数点位置
… … … …
2-(n-1)2-n
Xn-1 Xn
20 2-1 2-2
最小正数 0 0 0
2-(n-1)2-n
0 1
当Xn=1,Xs~Xn-1=0时,X为最小正数, 即:X最小正数 =2-n。
第 2章
计算机组成原理
2.1 数值数据的表示 2.2 机器数的定点表示与浮点表示 2.3 非数值数据的表示 2.4 十进制数和数串的表示 2.5 不同类型的数据表示举例 2.6 数据校验码
2.1 数值数据的表示
计算机组成原理
2.1.1 计算机中的数值数据 在计算机中常用后缀字母来表示不同的 数制。 十进制数(D) 二进制数(B) 八进制数(Q) 十六进制数(H) 在C语言中,八进制常数以前缀0开始, 十六进制常数以前缀0x开始。
2.1 数值数据的表示
计算机组成原理
若真值为纯整数,它的原码形式101, X2=-1101 [X1]原=0,1101 , [X2]原=1,1101 在原码表示中,真值0有两种不同的表 示形式: [+0]原 =00000 注意 [-0]原 =10000
2.1 数值数据的表示
计算机组成原理
对于带符号数,最高位用来表示符号 位,而不再表示数值位了,前例中的N1、 N2在这里变为: N1 =01001 表示带符号数+9 N2 =11001 不同的机器数表示不同的值 原码时表示带符号数-9, 补码则表示-7, 反码则表示-6。
2.1 数值数据的表示
计算机组成原理
8个负数
7个正数
2.1 数值数据的表示
计算机组成原理
真值与3种机器数间的对照
真值 X
十进制 二进制
[X]原[X]补[X]反 0000 0001 0010 0011 0100 0101 0110 0111 -
真值 X
十进制 二进制
[X]原 [X]补 [X]反 1000 1001 1010 1011 1100 1101 1110 1111 0000 1111 1110 1101 1100 1011 1010 1001 1000 1111 1110 1101 1100 1011 1010 1001 1000 -
+0 +1 +2 +3 +4 +5 +6 +7 +8
+000 +001 +010 +011 +100 +101 +110 +111 -
-0 -1 -2 -3 -4 -5 -6 -7 -8
-000 -001 -010 -011 -100 -101 -110 -111 -1000
2.1 数值数据的表示
不变 变反 不变
2.1 数值数据的表示
计算机组成原理
2.1.5 反码表示法 反码的符号位表示方法与原码相同,但 其数值部分的表示与数的符号有关:对于正 数,数值部分与真值形式相同;对于负数, 数值部分为真值形式按位取反。 若真值为纯小数,它的反码形式为 Xs.X1X2…Xn,其中Xs表示符号位。 例1:X1=0.0110 , X2=-0.0110 [X1]反=0.0110 , [X2]反=1.1001
第 2章
计算机组成原理
数据的机器层次 表示
第 2章
计算机组成原理
数据是计算机加工和处理的对象, 数据的机器层次表示将直接影响到 计算机的结构和性能。 本章主要介绍无符号数和带符号 数的表示方法、数的定点与浮点表 示方法、字符和汉字的编码方法、 数据校验码等。熟悉和掌握本章的 内容,是学习计算机原理的最基本 要求。
2.1 数值数据的表示
计算机组成原理
带符号数,即正、负数。用“+”、“-” 号加绝对值表示数值的大小,用这种形式 表示的数值在计算机技术中称为“真值”。 对于数的符号“+”或“-”,计算机是 无法识别的,因此需要把数的符号数码化。 通常,约定二进制数的最高位为符号位, “0”表示正号,“1”表示负号。这种在计 算机中使用的表示数的形式称为机器数。
2.1 数值数据的表示
计算机组成原理
2.补码表示 补码的符号位表示方法与原码相同, 其数值部分的表示与数的符号有关:对于 正数,数值部分与真值形式相同;对于负 数,其数值部分为真值形式按位取反,且 在最低位加1。 若真值为纯小数,它的补码形式为 Xs.X1X2…Xn,其中Xs表示符号位。 例1:X1=0.0110 , X2=-0.0110 [X1]补=0.0110 , [X2]补=1.1010
2.1 数值数据的表示
计算机组成原理
原码表示法的优点是直观易懂,机器 数和真值间的相互转换很容易,用原码实 现乘、除运算的规则很简单;缺点是实现 加、减运算的规则较复杂。