三、数据存储
总结
- 数据以不同的形式出现,包括数字、文本、音频、图像和视频。所有的数据类型都转换为称为位模式的统一表现形式。
- 数字在存储到计算机内存中之前被转换成二进制系统。有数种方法来处理符号。有两种方法来处理小数点:定点和浮点。整数可以被当作小数点位置固定的数字:小数点固定在最右边一位。无符号整数是永远不会为负的整数。存储有符号整数的方法之一是符号加绝对值格式。这种格式中,最左位用于显示符号且其余位定义绝对值。符号和绝对值互相分开。几乎所有的计算机都使用二进制补码表示法来存储位于n位存储单元中的有符号整数。该方法中,无符号整数的有效范围被分为两个相等的子范围。第一个子范围用来表示非负整数,第二个子范围用于表示负整数。在二进制补码表示法中,最左位决定整数的符号。但符号和绝对值互相分开。实数是带有整数部分和小数部分的数字。实数使用浮点表示法存储在计算机中。一个数字在浮点表示法中由三部分组成:符号、位移量和定点数。
- 文本的片断是用来表示该语言中某个意思的一系列的符号。我们可用位模式来表示每一个符号。不同的位模式(代码)集合被设计用于表示文本符号。硬件和软件制造商联合起来共同设计了一种名为Unicode的代码,这种代码使用32位表示一个符号。
- 音频表示声音或音乐。音频是模拟数据。我们不能够在一段时间记录无限数量的值,我们只能记录一些样本。样本数量依赖于模拟信号中变化的最大数量。从每个样本测量来的值是真实的数字。量化指的是将样本的值截取为最接近的整数值的一种过程。
- 存储在计算机中的图像使用两种不同的技术:光栅图或矢量图。当需要存储模拟图像(如照片)时,就用到了光栅图。图像被扫描(采样)然后存储像素。用矢量图图像的方法,一个图像被分解成几何图形的组合,例如,线段、矩形或圆形。每个几何形状由数学公式表达。
- 视频是图像(称为帧)在时间上的表示。一部电影就是一系列的帧逐个播放而形成运动的图像。换言之,视频是随空间(单个图像)和时间(一系列图像)变化的信息表现。
复习
1.说出5种计算机可以处理的数据。
2.位模式的长度如何与其能表示的符号数量相关?
3.位图方法是如何以位模式来表示一个图像的?
4.矢量图方法优于位图方法的优点是什么?其缺点又是什么?
5.将音频数据转换为位模式需要哪些步骤?
6.比较和对照在无符号、符号加绝对值以及二进制补码格式中的正整数的表示法。
7.比较和对照在无符号、符号加绝对值以及二进制补码格式中的负整数的表示法。
8.比较和对照在符号加绝对值、二进制补码格式和余码格式中的0的表示法。
9.讨论在符号加绝对值和二进制补码格式中最左位扮演的角色。
10.回答以下关于实数浮点表示法的问题:
a.为什么需要规范化?
b.什么是尾数?
c.数字在规范化以后,何种信息被计算机存储在内存中?
练习
1.我们可以有多少不同的5位模式?
2.一些国家的车牌有两个十进制数码(0~9),我们可以有多少种不同的车牌?如果不允许使用数码
0,又会有多少种不同的车牌?
3.用2个数码跟3个大写字母(A~Z)的车牌来重做上题。
4.一种机器有8个不同的圈。为表示每个圈需要多少位?
5.学生在一门课程中的成绩可用A、B、C、D、F、W(退学)或1(未完成)表示等级。表示这些等级
需要多少位?
6.一个公司决定给每个员工分配唯一的位模式。如果该公司有900名雇员,构建该表示法的系统最少
需要多少位?可分配多少位模式?如果再雇佣另外300名员工,系统需要增加位数吗?说明答案。
7.如果我们使用4位模式表示0~9的数码,将浪费多少位模式?
8.一个音频信号每秒钟采样8000次,每个样本有256级不同的表示。表示这个信号需要每秒多
少位?
9.将下列十进制数转换成8位无符号整数。
a. 23
b.121
c.34
d.342
10.将下列十进制数转换成16位无符号整数。
a.41.
b.411
c.1234
d.342
11.将下列十进制数转换成8位二进制补码表示法。
a. -12
b.-145
c. 56
d.142
12.将下列十进制数转换成16位二进制补码表示法。
a.102
b.-179
c.534
d.62 056
13.将下列8位无符号整数转换成十进制数。
a.01101011
b.10010100
c.00000110
d.01010000
14.将下列8位二进制补码表示的整数转换成十进制数。
a.01110111
b.11111100
c.01110100
d.11001110
15.下面是一些二进制补码表示的二进制数。请问如何改变它们的正负。
a.01110111
b.11111100
c.01110111
d.11001110
16.如果在一个数上应用二进制补码表示法转换两次,将会得到原数。在下面的数上试试看。
a.01110111
b.11111100
c.01110100
d.11001110
17.将下面的二进制浮点数规范化。在规范化后详细指明指数的值是多少。
a. 1.10001
c.2-2×101.110011
b.2'×111.1111
18.将下面的数转换成32位IEEE格式。
d.2-5×101101.00000110011000
a.-2×1.10001
b.+2×1.111111
19.将下面的数转换成64位IEEE格式。
c.+2*×1.01110011
d.-2-×1.01101000
a.-2×1.10001
b.+2×1.111111
20.将下面的数转换成32位的IEEE形式。
c.+2×1.01110011
d.-2-×1.01101000
a. 7.187 5
b. -12.640 625
c. 11.406 25
d.-0.375
21.将下列8位符号加绝对值表示的整数转换成十进制数。
a.01110111
b.11111100
c.01110100
d.11001110
22.将下列十进制数转换成8位符号加绝对值表示法。
a.53
b.-107
c.-5
d.154
23.在计算机中表示有符号数字的方法之一是二进制反码。在这种表示法中,表示正数时我们将其直接
存为二进制数字;表示负数时,对该数字进行二进制反码运算。将下列十进制数转换成8位二进制
反码表示法。
a.53
b.-107
c.-5
d. 154
24.将下列8位二进制反码表示的数转换成十进制数。
a.01110111
b.11111100
c.01110100
d.11001110
25.如果在一个数上应用二进制反码表示法转换两次,将会得到原数。在下面的数上试试看。
a.01110111
b.11111100
c.01110100
d.11001110
26.另一种求二进制补码的方法是首先转换成二进制反码表示法,然后把结果加1(二进制加法在第4
章讲解)。试用两种方法转换下面的数,分析比较结果。
a.01110111
b.11111100
c.01110100
d.11001110
- 在十进制数中,与二进制反码对等的称为十进制反码(1=2-1和9=10-1)。对于n位的单元,我们
用十进制反码表示数字的范围是 -[(10"/2)-1] 到 +[(10”/2)-1]。带有n个数码的十进制反码数字通
过下面方法获得:如果数字为正,十进制反码就是其自身;如果数字为负,我们将每个数码减9。
针对3个数码位的单元回答以下问题:
a.使用十进制反码可表示的数字范围是多少?
b.该系统中我们如何决定数字的符号?
c.在该系统中我们会有两个0吗?
d.如果c的答案是肯定的,表示+0和-0的是什么?
28.求出下列数的十进制反码,假设只有3个数码位(参见题)。
a.+234
b.+560
c. -125.
d.-111
29.在十进制数中,与二进制补码对等的称为十进制补码(在二进制系统中,2是底;在十进制系统中,
10是底)。对于n位的单元,我们用十进制补码表示数字的范围是:
-(10”/2)到+(10*/2-1)
带有n个数码的十进制补码数字通过下面方法获得;先求出该数字的十进制反码,接着给结果
加1。针对3个数码位的单元回答以下问题:
a.使用十进制补码可表示的数字范围是多少?
b.该系统中我们如何决定数字的符号?
c.在该系统中我们会有两个0吗?
d.如果c的答案是肯定的,表示+0和-0的是什么?
30.求出下列数的十进制补码,假设只有3个数码位。
a.+234
b.+560
c.-125
d.-111
31.在十六进制数中,与二进制反码对等的称为十六进制反码(1=2-1和15=16-1)。
a.3个数码位使用十六进制反码可表示的数字范围是多少?
b.说明在十六进制系统中如何获得十六进制反码?
c.在该系统中我们会有两个0吗?
d.如果c的答案是肯定的,表示+0和-0的是什么?
32.求出下列数的十六进制反码,假设只有3个数码位。
a.+B14
b.+FE1
c.-1A
d.-1E2
33.在十六进制数中,与二进制补码对等的称为十六进制补码。
a.3个数码位使用十六进制补码可表示的数字范围是多少?
b.说明在十六进制系统中如何获得十六进制补码?
c.在该系统中我们会有两个0吗?
d.如果c的答案是肯定的,表示+0和-0的是什么?
34.求出下列数的十六进制补码,假设只有3个数码位。
C.-1A
d.-1E2
a.+B14
b.+FE1
