当前位置:文档之家› 3计算机科学导论第三章-数据存储

3计算机科学导论第三章-数据存储


补0,使它的总位数为n位.
如果位数大于n位,则无法存储,导致溢出。
9
Example 3.1
将7存储在8位存储单元中.
解:首先将整数转换为二进制数 (111)2. 左边加5个0使总位数为8位,即(00000111)2. 再将该整数保存在存储单元中. 注意:右下角的2用于强调该整数是二进制的, 并不 存储在计算机中.
注意,
3个多余的0加到该整数的左边使其成为8位.
(错:书P34)
31
Example 3.13
用二进制补码表示法将整数−28存储在8位存储单元中.
解: 该整数是负数,因此,在转换成二进制后, 计算机对其进行二进制补码运算.
32
Example 3.14
用二进制补码表示法将存储在 8 位存储单元中的 00001101还原成整数. 解: 最左位是0,因此,符号为正. 该整数需要转换为十进制并加上符号即可.
2
3-1 引言 INTRODUCTION 如今,数据以不同的形式出现, 如:数字、文本、音频、图像和视频 (Figure 3.1).
i
Figure 3.1 不同类型的数据
计算机中使用术语“多媒体” 来定义包含数字、文本、图像、音频和视频的信息.
3
计算机内部的数据 Data inside the computer
19
Example 3.6
将用符号加绝对值格式表示法存储的 01001101 复原成整数.
解: 因为最左位是0,符号为正。 其余位 (1001101) 转换成十进制数 64+8+4+1=77 加上符号后,该整数是 +77.
20
Example 3.7
将用符号加绝对值格式表示法存储的 10100001复原成整数 解:
i
Figure 3.4 整数的定点表示法
整数通常使用定点表示法存储在内存中.
8
无符号表示法 Unsigned representation
无符号整数就是没有符号的整数,范围介于 0 到无穷大 .
在n位存储单元中,可以存储的无符号整数为0~2n-1
存储无符号整数的步骤: 1. 首先,将整数变成二进制数. 2. 如果二进制位数不足 n 位,则在二进制整数的左边
29
Example 3.11
如果进行2次补码运算,就可以得到原先的整数.
i
另一种将一个整数进行补码运算的方法是, 先对它进行1次反码运算,再加上1得到结果。第4章
30
Example 3.12
用二进制补码表示法将28存储在8位存储单元中.
解:该整数是正数, 因此,把该整数从十进制转
换为二进制后不再需要其他操作.
i 小数点和定点部分左边的位1并没有存储, 它们是隐含的.
47
余码系统 Excess System 指数:是有符号的数,即显示多少位小数点 应该左移或右移的幂次. 在余码系统中, 正整数和负整数都可以作为 无符号数存储. 为了表示正整数或负整数, 将正整数 (称为一 个偏移量) 添加到每个数字中,将它们统一 移到非负的一边. 这个偏移量的值是2m−1 − 1, m是内存单元存 储指数的大小.
42
Example 3.20
用浮点格式表示数字 (101001000000000000000000000000000.00)2
解:使用前例同样的方法, 小数点前只保留一位数字.
指数显示为32,实际上以二进制存储在计算机中。
43
Example 3.21
用浮点格式表示数字
−(0.00000000000000000000000101)2
用于维持正确度或精度的解决方法是使用浮点表示法. 浮点表示法允许小数点浮动,小数点的左右可以有不同 数量的数码,增加了可存储的实数范围.
i
Figure 3.9 在浮点表示法中的三个部分
浮点表示法由3部分组成:符号、位移量、定点数
40
Example 3.18
在科学计数法中,定点部分在小数点左边只有1位, 位移量是 10 的幂次。用科学计数法(浮点表示法) 表示的十进制数 7,425,000,000,000,000,000,000.00
几乎所有的计算机都使用二进制补码表示法来存储 位于n位存储单元中的有符号整数。
在补码表示法中,无符号整数的有效范围 (0~2n−1) 被分为 2 个相等的子范围。第一个子范围用来表示 非负整数(0和正) ,第二个子范围用于表示负整数.
若n=4,范围是0000~1111, 分为两半,0000~0111和1000~1111, 按左负右正的常规交换。 (错:书P33)
所有计算机外部的数据都采用统一的数据表示法转 换后存入计算机中,当数据从计算机输出时再还原 回来。这种通用的格式称为位模式. 位(bit)是存储在计算机中的最小单位,0或1. 为了表示数据的不同类型,采用位模式,一个序列 长度为8的位模式称为1个字节(byte).
Figure 3.2 位模式
书P29图3.2错误,16个位
45
二进制数规范化之后,只存储了该数的三部分信息, 符号,指数,尾数。+1000111.0101规范化后变为:
符号:用一个二进制位来表示(0或1) 指数:小数点移动的位数,使用余码表示法存储指数位 尾数:小数点右边的二进制数,定义了该数的精度。 注意:尾数不是整数,而是像整数那样存储的小数部分 在尾数中,如果在数字左边插入多余的0,值将会改变 而在真正的整数中,左边插入0,值不会改变 书P38错误 46
4
Figure 3.3 不同数据类型的存储
5
数据压缩 Data compression 更小的空间存储更多的数据 更短的时间下载更多的数据 存储或发送更少的位数(数据) 数据压缩 i
数据压缩将在第15章讨论.
6
3-2 存储数字 STORING NUMBERS
在存储到计算机内存中之前,数字被转换
这三部分为:符号 (+),位移量 (21),定点数 (7.425). 注意:位移量就是指数. +7.425E21
41
Example 3.19
用科学计数法表示数字 −0.0000000000000232 解:将小数点移到数码2之后, 如下所示:
这三部分为:符号 (-)、位移量 (-14) 、定点数 (2.32) 注意:这里指数是负的. -2.32E-14
33
Example 3.15
用二进制补码表示法将存储在8位存储单元中的 11100110还原成整数.
解: 最左位是1,因此符号为负. 在整数转换成十进制前进行补码运算.
34
i
二进制补码表示法仅有1个0.
Figure 3.9 二进制补码表示法的溢出
35
比较
36
存储实数 Storing reals
计数:可以从0或1开始增加
寻址:地址是从0(存储器的第一个字节)开
始到整个存储器的总字节数的正数。
为其他数据类型排序:其他数据类型(文本、 图像、音频、视频)等是以位模式存储的,可 以翻译为无符号整数。
15
符号加绝对值表示法 Sign-and-magnitude representation
23
赋值给负和非负整数的位模式如图3.8所示.
Figure 3.8 二进制补码表示法
i
在二进制补码表示法中,最左位决定符号。 如果最左位是0,该整数为正 如果最左位是1,该整数为负
24
反码
在介绍补码表示法之前,需要介绍两种运算 第一种称为反码或取一个整数的反码. 该运算可以应用到任何整数,无论是正的 还是负的. 该运算简单反转各个位. 即把0位变为1位 ,把1位变为0位
25
Example 3.8
如何取整数00110110的反码?
26
Example 3.9
进行两次反码运算,就可以得到原先的整数.
27
补码
第二种运算: 称为二进制中的补码或取一个整数的补码。
该运算分为两步:
首先,从右边复制位,直到有1被复制,
接着,反转其余的位.
28
Example 3.10
如何取整数00110100的补码?
17
Example 3.4
用符号加绝对值格式表示法将 +28 存储在8位 存储单元中. 解:先把该整数转换成7位的二进制数. 最左边位置为0,即存储为8位数.
18
Example 3.5
用符号加绝对值格式表转换成7位的二进制数。 最左边位置为1,即存储为8位数.
因为最左位是1,符号为负。 其余位 (0100001) 转换成十进制数 32+1=33 加上符号后,该整数是−33. 错误:p32 (书-17)
21
符号加绝对值表示法的应用
符号加绝对值表示法不用于存储整数,
而用于存储部分实数
符号加绝对值表示法通常用于采样模
拟信号,如音频。
22
二进制补码表示法
为二进制系统, 如第二章所述. 但是,这里还有两个问题需要解决: 1. 如何存储数字的符号.
2. 如何显示十进制小数点.
7
存储整数 Storing integers
整数是完整的数字 (即没有小数部分). 如134和−125是整数, 而134.23 和 −0.235 则不是. 整数可被当作小数点位置固定: 小数点固定在最右边. 因此,定点表示法用于存储整数,如图3.4所示. 在这种假设中,小数点是假设的,但是并不存储.
在这种方法中,用于无符号整数的有效范围 (0 to 2n − 1) 被分成2个相等的子范围. 前半部分表示正整数,后半部分表示负整数.
Figure 3.6 符号加绝对值的表示法
i
符号加绝对值表示法中,最左位定义整数的符号。 0表示正整数,1表示负整数.
16
符号加绝对值表示法 Sign-and-magnitude representation 在一个 8 位存储单元中,可以仅用 7 位表示 数字的绝对值(不带符号) 最大的整数值,仅是无符号最大数的一半。 在n位单元中,可存储的数字范围是: -(2n-1-1) ~(2n-1-1)
相关主题