1、第2章 数据的表示 本章学习导读:(1)计算机中如何来表示数据,包括数值数据和 非数值数据。 (2)数值数据的编码表示:包括数制,原码、反 码、补码,以及定点与浮点数。 (3)非数值数据(文字、图形、图像、声音、视 频)的简单表示法。本章讨论在计算机内部各类基本数据的表示方法及其相互间的等值转换。 21 数据、信息和媒体 数据是对事实、概念或指令的一种特殊表达形式, 这种特殊的表达形式可以用人工的方式或者用自动 化的装置进行通信、翻译转换或者进行加工处理 。在计算机系统中所指的数据均是以二进制编码形式 出现的。 计算机内部由硬件实现的基本数据区分为数值型数 据和非数值型数据。 2.1.1 数据 信息是对人有用的数据,这些数据可能影响 到人们的行为和决策。 媒体又称媒介、媒质,是指承载信息的载体。 2.1.2 信息 计算机信息处理,实质上就是由计算机进行数据处理 的过程。 信息是对数据的解释,数据是信息的载体。2.1.3 媒体 与计算机信息处理有关的媒体有5种: 感觉媒体 表示媒体存储媒体 表现媒体 传输媒体 图 2.1 计算机外部信息与内部数据的转换 22 数字化信息编码编码 所谓编码。
2、,就是用少量简单的基本符号,对 大量复杂多样的信息进行一定规律的组合。 在计算机系统中,凡是要进行处理(包括计算、查找、排序、分类、统计、合并等)、存储和传输的信 息,都是用二进制进行编码的。 计算机内部采用二进制表示的原因: 1)二进制只有两种状态,在数字电路中很容易实现。 2)二进制编码、运算规则非常简单。 3)二进制的“0”、“1”与二值逻辑一致,很容易实现 逻辑运算。2.3 数值值数据的编码编码 表示 数值数据是表示数量多少和数值大小的数据 。 在计算机内部,数值数据的表示方法有两大类:第一 种是直接用二进制数表示;另一种是采用二进制编码的 十进制数(Binary Coded Decimal Number,简称BCD) 表示。 表示一个数值数据要确定三个要素:进位计数制、 定浮点表示和数的编码表示。 2.3.1 进位计数制及其各进位制数之间的转换 在某个数字系统中,若采用R个基本符号(0,1, 2,R-1)表示各位上的数字,则称其为基R 数制,或称R进制数字系统,R被称为该数字系统的基, 采用“逢R进一”的运算规则,对于每一个数位i,其该 位上的权为R i。 在计算机系统中,常。
3、用的几种进位计数制 有下列几种: 二进制 R=2, 基本符号为 0和1 八进制 R=8, 基本符号为 0,1,2,3,4,5,6,7 十六进制 R=16, 基本符号为 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十进制 R=10, 基本符号为 0,1,2,3,4,5,6,7,8,9例:十进制数2585.62代表的实际值是 2x103+5x102+8x101+5x100+6x10-1+2x10-2例:二进制数(100101.01)2代表的实际值是: (100101.01)2 = 1x25 + 0x24+ 0x23 + 1x22 + 0x21 +1x20+ 0x2-1 + 1x2-2=(37.25)101.R进制数转换成十进制数 任何一个R进制数转换成十进制数时,只要 “按权展开”即可。例1 二进制数转换成十进制数。(10101.01)2=(124+023+122+021+120+0 2-1+12-2)10=(21.25)10例2 八进制数转换成十进制数。(307.6)8=(382+780+68-1) 10=(199.75) 10 例3 十六进制数转换成十进制数。(3A.。
4、C)=(3161+10160+1216-1) 10=(58.75) 10 2. 十进制数转换成R进制数 任何一个十进制数转换成R进制数时,要将 整数和小数部分分别进行转换。 (1)整数部分的转换 整数部分的转换方法是“除基取余,上右下左”。 例1 将十进制整数835分别转换成二、八进制数。01813810488358余数 低位 3051(835) 10=(1503) 8 高位(835) 10=(1101000011) 2 (2)小数部分的转换 小数部分的转换方法是“乘基取整,上左下右”。 例2 将十进制小数0.6875分别转换成二、八进制数。 0.68752=1.375 1整数部分0.3752=0.75 0 0.752=1.5 10.52=1.0 1高位低位(0.6875) 10=(0.1011) 2 整数部分高位低位0.68758=5.5 5 0.58=4.0 4(0.6875) 10=(0.54) 8 例3 将十进制小数0.63转换成二进制数。 整数部分高位低位0.632=1.26 10.262=0.52 0 0.522=1.04 1 0.042=0.08 0(0.63) 10=(。
5、0.1010) 2 (近似值) (3)含整数、小数部分的数的转换 只要将整数、小数部分分别进行转换,得 到转换后的整数和小数部分,然后再这两 部分组合起来得到一个完整的数。 例 4 将十进制数835.6875转换成二、八进制数。 (835.6875) 10=(1101000011.1011) 2=(1503.54) 8 3. 二、八、十六进制数的相互转换 (1)八进制数转换成二进制数 例1 将(13.724) 8转换成二进制数 (13.724) 8=( 001 011 . 111 010 100 )2=(1011.1110101) 2 (2)十六进制数转换成二进制数 例2 将十六进制数2B.5E转换成二进制数(2B.5E)16 = ( 0010 1011 . 0101 1110 ) 2= (101011.0101111) 2 (3)二进制数转换成八进制数 (10011.01) 2 = ( 010 011 . 010 ) 2 = (23.2) 8 (4)二进制数转换成十六进制数 (11001.11) 2 = ( 0001 1001 . 1100 ) 2 = ( 19.C ) 16 2.3。
6、.2 定点与浮点表示 1定点表示 所谓定点表示是约定计算机中所有数据的小数点 位置是固定不变的。该位置在计算机设计时已被隐含地 规定,因此勿需再用任何硬件设备状态来明显表示小数点。 1 0 1 0 1 1 0小数点位置(隐含约定) 1 0 1 0 0 0 1小数点位置(隐含约定)利用定点表示进行计算,须将所有数据之 值按一定比例予以缩小(或放大)后送入 计算机,同时须将计算结果以同一比例增 大(或缩小)后才能得正确结果值。由于采用定点数表示数的范围较小,因此运算很容易 产生溢出,另外选择适当的比例因子有时也很困难。2浮点表示 在计算机中所表示的数,其小数点位置是可变的,这 种数称为浮点数。数符1 阶符1 阶e 尾数m 对于任意一个二进制数X,可以表示成 如下形式:X= MRE 其中:M为尾数,常用定点纯小数表示;E为阶,一般 用定点整数表示;R为基数,隐含为2,也可以为2q, q可取2,3,4等正整数。上溢区 下溢区 上溢区负数区 (机器零) 正数区 Nmax = (1-2-m) 2(2e-1) Nmin = 2-m 2-(2e-1)浮点表示法的最大特点是它可以表示 很大的数据范围以及。
7、较高的数据精度。 2.3.3 编码系统 确定一个数值数据的三要素是:进位计数制、 定点/浮点表示和编码表示。它们分别用来解决数值 数据的基本表示符号、小数点位置和数的正负号表示。 符号数字化:0表示正号,1表示负号。 机器数:数值数据在计算机内部编码表示的数。 真值:机器数真正的值(即:原来带有正负号的数)。机器数X的真值为: XT = X1Xn2X1X0 (当X为定点整数时) XT = 0 . X1X 2X(n 1)X n (当X为定点小数时)数字化编码后的机器数X表示为:X = Xn X n -1 X n -2 X 1 X 0 常用的编码表示方式有三种:原码、补码和反码。 对于这三种编码:正数的所有编码表示都是相同的。 其结果总是:符号位取值为0,数值部分保持不变。 负数的所有编码表示,其符号位总是为1,而数值 部分对于不同的编码则有不同的取值。1原码表示法 原码表示的机器数由符号位后直接跟上 真值的数值构成。 定点小数:x x原=1-x +0=0.00 0-0=1.00 0定点整数:x 当2n-1 x原=2n-1-x 当 -2n-1例:+1101原=01101-1101原=111。
8、01原码表示的优点是与真值的对应关系直观、方便, 因此与真值的转换简单,并且用原码实现乘除运算 比较简便,但其加/减法运算规则复杂。 2补码表示法 (1) 模运算 “对一个多于n位的数丢弃高位而保留低n位数” 这样一种处理, 实际上等价于“将这个多于n位的数去 除以2n,然后丢去商保留其余数”的操作。这样一种操 作运算就是“模运算”。 在模运算中,若A,B,M满足下列关系:A=B+KM(K为整数), 则记为:AB(mod M)。 即:A、B各除以M后的余数相同,故称B和为模同 余。 假定现在钟表时针指向10点,要将它拨向 点,则有两种拨法: 倒拨4格:10-4=6 顺拨8格:10+8186 (mod 12) 所以在模12系统中:10-410+8 (mod 12) 即: -48 (mod 12) 我们们称8是-4对对模12的补码补码 。同样样有-39(mod 12);-57(mod 12)等等。 结论: “对于某一确定的模,某数减去小于模的另一 数,总可以用该数加上模与另一数绝对值之差来代替”。 因此,补码可以用加法实现减法运算。 例1“钟表”模运算系统 10-410+(12-4) 10+86 (mod 12)例2“4位十进制数” 模运算系统(相当于只 有四档的算盘) 9828-19289828+(104-1928)9828+80727900 (mod 104)(2)补码的定义 定点小数:x x补=2+x x 当2n-1 x补=2n+x 当 -2n-1定点整数:补码0的表示是唯一的: +0补=0 0.0 -0补= 2 n -0=1 00.0=0 0.0 (mod 2 n) 对于整数补码有:-1补= 2 n 1=11.1 (n个1) 对于小数补码有:-1补=2-1=1.00.0 (n-1个0) 例设补码的位数为6,求负数-0.10110的补码表示。-0.10110补=2-0.10110=10.00000-0.10110=1.01010 求负数补码的简单方法:“符号位固定为1,其余各位 由真值中相应各位取反后,末尾加1所得。” 由补码求真值的简便方法:“若符号位为1,则真值的符 号为负,其数值部分的各位由补码中相应各位取反后, 末尾加1所得。” 求一个补码“取负”后的补码表示方法: “只要对该已知补码各位取反,末尾加1即可。” 由x求 。
《徐福培计算机组成原理》由会员宝路分享,可在线阅读,更多相关《徐福培计算机组成原理》请在金锄头文库上搜索。