第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章计算机系统结构的基本概念 1.1 解释下列术语层次机构按照计算机语言从低级到高级的次序把计算机系统按功能划分成多级层次结构每一层以一种不同的语言为特征。
这些层次依次为微程序机器级传统机器语言机器级汇编语言机器级高级语言机器级应用语言机器级等。
虚拟机用软件实现的机器。
翻译先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序然后再在这低一级机器上运行实现程序的功能。
解释对于高一级机器上的程序中的每一条语句或指令都是转去执行低一级机器上的一段等效程序。
执行完后再去高一级机器取下一条语句或指令再进行解释执行如此反复直到解释执行完整个程序。
计算机系统结构传统机器程序员所看到的计算机属性即概念性结构与功能特性。
透明性在计算机技术中把这种本来存在的事物或属性但从某种角度看又好像不存在的概念称为透明性。
计算机组成计算机系统结构的逻辑实现包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现计算机组成的物理实现包括处理机、主存等部件的物理结构器件的集成度和速度模块、插件、底板的划分与连接信号传输电源、冷却及整机装配技术等。
系统加速比对系统中某部分进行改进时改进后系统性能提高的倍数。
Amdahl定律当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚。
包括时间局部性和空间局部性。
CPI每条指令执行的平均时钟周期数。
测试程序套件由各种不同的真实应用程序构成的一组测试程序用来测试计算机在各个方面的处理性能。
存储程序计算机冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中机器一旦启动就能按照程序指定的逻辑顺序执行这些程序自动完成由程序所描述的处理工作。
系列机由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
软件兼容一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。
计算机组成原理习题答案(蒋本珊)
第一章1.电子数字计算机和电子模拟计算机的区别在哪里?解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。
2.冯·诺依曼计算机的特点是什么?其中最主要的一点是什么?解:冯·诺依曼计算机的特点如下:①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;②计算机内部采用二进制来表示指令和数据;③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
第③点是最主要的一点。
3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
它们各自的功能是:①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。
②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
③存储器:用来存放程序和数据。
④运算器:对信息进行处理和运算。
⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。
4.什么叫总线?简述单总线结构的特点。
解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。
单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。
CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU 的干预。
5.简单描述计算机的层次结构,说明各层次的主要特点。
解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。
第0级为硬件组成的实体。
第1级是微程序级。
这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。
第2级是传统机器级。
这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
计算机组成原理:2-1-1 数据的机器层次表示
媒体输入设备
媒体输出设备 (表现媒体)
二进制编码表示的各种数据
程序员角度
(表示 /存储 /传输媒体 )
结构化描述
指令系统能识别的 基本数据类型
系统设计者角度
数值型数据
非数值型数据
常用信息分类及表示
无符号数-- 正整数
原码
定点整数
数值数据
定点数
反码
补码
信
有符号数
定点小数
浮点数
移码
息
十进制数
非数值数据-- 字符、汉字等
2.1 数值数据的表示
计算机内部采用二进制表示的原因
二进制只有两种状态,在数字电路中很容易实现。 二进制编码、运算规则非常简单。 二进制的“0”、“1”与二值逻辑一致,很容易实现逻
辑运算。
计算机中的常用数制的表示:
十进制数(D)——100D 二进制数(B)——1100100B 八进制数(Q)—— 144Q 十六进制数(H) ——64H 在C++中,八进制常数以前缀0开始,十六进制常数以
真值和机器数
真值: 正、负号加上某进制数绝对值的形式称
为真值。如+13,-5等,即实际值。 机器数:
符号以及数值都数码化的数称为机器数 如 :X=01101 Y=11011
即真值在机器中的表示,称为机器数.
数的机器码表示——原码表示法
纯小数
若纯小数的原码形式为 x0. x1 x2 ···xn,(共n+1位)则原码 表示的定义是:
前缀0x开始。
无符号数和带符号数
无符号数与带符号数
无符号数: 在数值编码格式中,所表示的数没有符号位。
无符号数可都 看成是正整数
全都是数值位(n+1)位 带符号数
计算机体系结构第二章
4. 数据表示确定 在进行软件和硬件的功能分配时,计算机系统结构设计应考虑在机器中设置哪些数据表示,使之能对应用中用到的数据结构有高的实现效率。在定点、浮点、字符串、逻辑、十进制等基本数据表示的基础之上,根据应用的需要,考虑在机器中引入哪些高级的数据表示,以便能为数据的实现提供更好的支持(通用性和利用率是否较高)。 1)一般计算机要选用常用的数据表示; 2)对较高级的数据表示要有针对选取。 ①当处理的数据类型较多时,可选自定义的数据。 ②当对向量数据处理较多时,可选向量数据表示。 ③当逆波兰表达式处理较多时,可选堆栈数据表示。
一级描述符(要求数据连续存放)
分别利用两级描述符和三级描述符描述下列阵列数据。 a00 a01 a02 a03 b00 b01 b02 b03 a10 a11 a12 a13 b10 b11 b12 b13 A= a20 a21 a22 a23 B= b20 b21 b22 b23 a30 a31 a32 a33 b30 b31 b32 b33
习题2. 分别用rm =2和8,在不包括符号位在内的p=3,m=3且非负阶、正尾数、规格化条件下 1)先列出两种rm的规格化浮点数表。 2)分别计算rm =2和8条件下规格化数的个数,数的表示范围及表示比e。
最小规格化浮点数的尾数的确定: 设尾数位数m=4 阶码部分值E=0 对 (0.1)r 二进制:0.1000 1/2 四进制: 0.0100 1/4 八进制: 0.0010 1/8 十六进制: 0.0001 1/16
计算机系统结构第二章第一部分
计算机系统结构第二章第一部分第二章指令系统指令系统是计算机系统结构的主要组成部分指令系统是软件与硬件分界面的一个主要标志指令系统软件与硬件之间互相沟通的桥梁指令系统与软件之间的语义差距越来越大2.1 数据表示2.2 寻址技术2.3 指令格式的优化设计2.4 指令系统的功能设计2.5 RISC指令系统2.1 数据表示新的研究成果,如浮点数基值的选择新的数据表示方法,如自定义数据表示2.1.1 数据表示与数据类型2.1.2 浮点数的设计方法2.1.3 自定义数据表示2.1.1 数据表示与数据类型数据的类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符数据表示的定义:数据表示研究的是计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。
例如:定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题确定数据表示的原则:一是缩短程序的运行时间,二是减少CPU与主存储器之间的通信量,三是这种数据表示的通用性和利用率。
例2.1:实现A=A+B,A和B均为200×200的矩阵。
分析向量指令的作用解:如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。
因此,CPU与主存储器之间的通信量:取指令2+4×40,000条,读或写数据3×40,000个,共要访问主存储器7×40,000次以上如果有向量数据表示,只需要一条指令减少访问主存(取指令)次数:4×40,000次缩短程序执行时间一倍以上N m m er =?? 数据表示在不断扩大,如字符串、向量、堆栈、图、表 ? 用软件和硬件相结合的方法实现新的数据表示例如:用字节编址和字节运算指令来支持字符串数据表示用变址寻址方式来支持向量数据表示2.1.2 浮点数的设计方法1、浮点数的表示方式一个浮点数N 可以用如下方式表示:需要有6个参数来定义。
- 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 数值数据的表示
计算机组成原理
原码表示法的优点是直观易懂,机器 数和真值间的相互转换很容易,用原码实 现乘、除运算的规则很简单;缺点是实现 加、减运算的规则较复杂。