第章数据的表示_图文

对外经济贸易大学信息学院 计算机应用教研室
数据的表示

献给选修计算机基础的同学们
? 枯燥、乏味,也许你这么看这一部分内 容,但它确实是计算机科学殿堂的基础, 它里面蕴涵的人类智慧的火花,无疑会 对你们这些刚刚接触这个陌生领域的人 产生一些潜移默化的影响,如果能有限 的达到这个目的,那就足够了。

教学目标
? 理解不同类型数据是如何在计算机内 进行表示和存储的
? 理解不同进制数据是如何进行相互转 换的
? 理解整数运算 ? 理解二进制逻辑运算

一、数据的表示和存储
1.1
数据的类型

计算机中存储的不同数据类型

文本 数值 图像

音频

视频

计算机中存储的不同数据类型
Note:
The computer industry uses the term “multimedia” to define information that contains numbers, text, images,
audio, and video.

一、数据的表示和存储
1.2
计算机里存储的数据

计算机里存储的数据
? Bit的含义:一位二进制数,能够存储一 个0或者1。
? 位模式: 位的序列。 ? Byte:8位构成一个字节,是计算机中的
最小存储单位。

计算机里存储的数据
? 位模式举例:

一、数据的表示和存储
1.3
数据的表示

数据的表示
? 文本的表示
– 示例:

数据的表示
? 文本的表示: – 英文字符:ASCII (American Standard Code for Information Interchange) – 汉字字符:
? 输入码 :输入汉字时的编码; ? 内码:存储汉字时的编码; ? 字形码 :显示和打印汉字的码,通常字体有位图字体
和矢量字体; ? 信息交换码:当计算机之间或与终端之间进行信息交
换时,要求它们之间传送的汉字代码信息完全一致, 国家规定了信息交换用的标准汉字交换码“GB312-80 信息交换用汉字编码字符集(基本集)”,即国标码。国 标码共收集了7445个图形字符。
? 常用字符集:GB2312、GBK、BIG5、GB18030、UTF-8。

数据的表示
? 数字
– 使用二进制系统来表示。
? 图像
位图图形
图像
矢量图形

数据的表示
? 图像中的位图-黑白图像

数据的表示
? 图像中的位图-色彩的表示

数据的表示
? 图像中的矢量图:矢量图使用直线和曲线来描述图形, 这些图形的元素是一些点、线、矩形、多边形、圆和弧 线等等,它们都是通过数学公式计算获得的。例如一幅 花的矢量图形实际上是由线段形成外框轮廓,由外框的 颜色以及外框所封闭的颜色决定花显示出的颜色。由于 矢量图形可通过公式计算获得,所以矢量图形文件体积 一般较小。矢量图形最大的优点是无论放大、缩小或旋 转等不会失真;最大的缺点是难以表现色彩层次丰富的 逼真图像效果。

数据的表示
? 图像的文件格式:
– 位图:*.bmp、*.pcx、*.gif、*.jpg – 矢量图:*.AI、*.EPS 、*.dwg、*.wmf

数据的表示
? 图像的比较:

数据的表示
? 音频:模拟数据采样成离散的数字信号 量化后采用二进制存贮。

数据的表示
? 视频:是图像(帧)在时间上的表示。 电影就是一系列,一张接一张地播放而 形成的运动图像。

1.4
常用数制与转换

进制表示法
? 二进制表示面临位数过长,为了书写方 便引入了十六进制和八进制;
? 生活中最常使用的就是十进制。

进制表示法
十进制数(Decimal)
0,1,2,…,9十个数码表示。
加法运算“逢十进一”,减法运算“借一当 十”。
十进制数写成:5029、5029D或(5029)
10
? 进位计数制举例:基数和权值

进制表示法
? 二进制数(Binary)
– 0,1两个数码表示。
加法运算“逢二进一”, 减法运算“借一当二”。
– 二进制数写成(1011.11)2或1011.11B。 – [例 1]
(1011.011)2+(1001.1011)2=(10101.0001)2 (1110.1)2-(1011.01)2=(11.01)2
– [例 2]
(1001)2=1×23+0×22+0×21+1×20=(9)10 (10110.11)2= 1×24+0×23+1×22+1×21+0×20+1×2-1+1×2-
2=(22.75)10

进制表示法
? 八进制数(Octal) 0,1,2,…,7八个数码表示。
加法运算“逢八进一”,减法运算“借一当 八”。
? 八进制数写成(3721)8或3721O ? [例3]
(463)8+(562)8=(1245)8 (100)8-(50)8=(30)8
? [例4]

进制表示法
? 十六进制数(Hexadecimal)
0,1,2,…,9,A,B,C,D,E,F十六个数码和字母表示。
加法运算“逢十六进一”,减法运算“借一当十六”。 十六进制数写成(3A1B)16或3A1BH
? [例5]
(25)16+(A1)16=(C6)16 (25)16-(6)16=(1F)16 (c6)16=12×161+6 ×160=(198)10

进制转换
? 常用数制之间的转换

进制转换
? 二进制、八进制、十六进制 → →十进制数 ? [例6]
(11000.101)2= 1×24+1×23+0×22+0×21+0×20+1×2-1+0×2-2+1×2-
3=(24.625)10 (103)8=1×82+0×81+3×80=(67)10 (B5.2)16=11×161+5×160+2×16-1=(181.125)10

进制转换
? 十进制数→ →二进制、八进制和十六进制数 ? (1) 十进制整数→二进制整数
– 方法:“除以2取余”。 – 举例:52=(110100)2

进制转换
? 十进制数→ →二进制、八进制和十六进制数 ? (2)十进制小数→二进制小数
–方法:“乘以2取整” 。 – 举例:0.375=(0.011)2

进制转换
? 二进制、八进制、十六进制之间的转换 (1) 八进制数→ →二进制数
方法:八进制数的每一位用三位二进制数表示。 (2) 二进制数→ →八进制数
方法:从小数点起,向左、右每三位二进制数(不够 三位用0补足三位)用相应的一位八进制数表示。
[例7] (631.2)8=(110 011 001.010)2 (1101100.1)2=(001 101 100.100)2=(154.4)8

进制转换
? 二进制、八进制、十六进制之间的转换 (3)十六进制数→ →二进制数
方法:十六进制数的每一位用四位二进制数表示。
(4)二进制数→ →十六进制数 方法:从小数点起,向左、右每四位二进制数(不够四位用0
补足四位)用相应的一位十六进制数表示。
[例8]
(1B3.2)16=(0001 1011 0011. 0010)2 (1101100.1)2=(0110 1100.1000)2=(6C.8)16

二、数的表示
2.1
整数的表示

整数的表示
? 整数的分类
整数表示

无符号整数

有符号整数

符号加绝对值 二进制反码 二进制补码

格式

格式

格式

整数的表示
? 无符号整数格式
– 没有符号的整数,范围介于0到正无穷大; 0---2N-1
– 表示法:
?首先将整数变成二进制数; ?如果二进制位数不足N位,则在二进制数的左边
补0,使它的总位数为N位。

整数的表示

? 无符号整数存储举例:

Decimal
-----------7
234 258 24,760 1,245,678

8-bit allocation
-----------00000111 11101010 overflow overflow overflow

16-bit allocation
-----------------------------0000000000000111 0000000011101010 0000000100000010 0110000010111000 overflow

整数的表示

? 符号加绝对值格式:
– 最左边位数为数的符号,0为正,1为负; – 举例:

Decimal
-----------+7 -124
+258 -24,760

8-bit allocation
-----------00000111 11111100 overflow overflow

16-bit allocation
-----------------------------0000000000000111 1000000001111100 0000000100000010 1110000010111000

整数的表示
? 二进制反码格式
– 表示方法:N位二进制数,如果符号为正, 就不需再做变动,如果符号为负,则将每 一位换成它的反码形式。
– 在二进制反码表示法中,最左边的位定义 数的符号。如果为0,数值为正;如果是1, 数值为负。
– 0不是唯一表示:
?+0 →00000000 ?-0 →11111111

整数的表示

? 二进制反码格式举例:

Decimal
------------
+7 -7 +124 -124 +24,760 -24,760

8-bit allocation
-----------00000111 11111000 01111100 10000011 overflow overflow

16-bit allocation
-----------------------------0000000000000111 1111111111111000 0000000001111100 1111111110000011 0110000010111000 1001111101000111

整数的表示
? 二进制补码格式
– 是应用最广泛的整数表示法; – 0唯一表示; – 表示方法:N位二进制数,如果符号为正,
就不需再做变动,如果符号为负,则将最 右边的所有0和首次出现的1保持不变,其 余位取反。 – 在二进制补码表示法中,最左边的位定义 数的符号。如果为0,数值为正;如果是1, 数值为负。

整数的表示

? 二进制补码格式举例:

Decimal
------------
+7 -7 +124 -124 +24,760 -24,760

8-bit allocation
-----------00000111 11111001 01111100 10000100 overflow overflow

16-bit allocation
-----------------------------0000000000000111 1111111111111001 0000000001111100 1111111110000100 0110000010111000 1001111101001000

二、数的表示
2.2
浮点数的表示

浮点数的表示
? 分成两部分:整数部分和小数部分; ? 转换成二进制,内容同第一章十进制转
换成二进制;

浮点数的表示

? 规范化:移动浮点数的小数点使小数点 的左边只有一个“1”;
? 规范化的示例:

OrOigrignianlaNl uNmumbebrer
--------------
+1+011001000010.11.1101101 -1-1111.010.0000010111
+0+.00.0000001011110100101 --000.1010110101101011

Move
-----------?6 ?2 6? 3?

Normalized -----------+26 x 1.01000111001 -22 x 1.11000011 +2-6 x 1.11001 -2-3 x 1.110011

浮点数的表示

? 符号、阶码和尾数(规范化后的存储)

– 符号:数的符号可以用一个二进制位来存 储(0或者1)

– 阶码(2的幂)定义小数点移动的位数, 可正可负

– 尾数是指小数点右边的二进制数

? 举例:阶码

+26 x 1.01000111001

符号

尾数

浮点数的表示
? IEEE(电器和电子工程师协会)浮点数标准
– 单精度(Single Precision)浮点数是32位(即 4字节)
– 双精度(Double Precision)浮点数是64位 (即8字节)
? IEEE 标准:阶码用移码(不要求);尾数用 原码

三、位运算

算术运算

位运算

逻辑运算

三、位运算
3.1
算术运算

整数的算术运算
? 只研究加和减,乘法运算可以转化为连 加,除法运算可以转化为连减;
? 只讨论二进制补码的运算,因为现在计 算机中整数只以这种形式存储。

整数的算术运算
? 二进制补码中的加法
– 法则:2个位相加,将进位加到下一列。如 果最左边的列相加后还有进位,则舍弃它。
– 举例: (+17) + (+22) ? (+39)

进位 结果

1
000 1 0 0 0 1 + 000 1 0 1 1 0
---------------------------------0 0 1 0 0 1 1 1 ? 39

整数的算术运算
? 二进制补码中的加法
– 举例: (+24) + (-17) ? (+7)

进位 结果

1111 1
000 1 1 0 0 0 + 111 0 1 1 1 1
---------------------------------0 0 0 0 0 1 1 1 ? +7

整数的算术运算

? 二进制减法
– 法则:首先把减数取反,再与被减数相加 – 举例:

(+101) - (+62) ?? (+101) + (-62)

进位

11

011 0 0 1 0 1 + 110 0 0 0 1 0

----------------------------------

结果

001 0 0 1 1 1

最左边的进位舍弃了。

? 39

三、位运算
3.2
逻辑运算

逻辑运算
? 引言:一个位可能是0或1,可以假设0 代表逻辑“假”,而1代表逻辑“真”。 这样,存储在计算机存储器中的位就能 代表逻辑值的真或假。根据逻辑位输入 的个数,我们把通常的逻辑运算称为一 元运算和二元运算。

逻辑运算
? 一元和二元运算

逻辑运算
? 常用的逻辑运算符:

逻辑运算
? 真值表:列出了所有可能的输入组合与 相应的输出。

逻辑运算
? 一元运算举例:

目标 结果

10011000 -----------------01100111

NOT

逻辑运算
? 二元运算符——与运算符举例:

目标 结果

10011000 00110101 -----------------00010000

AND

逻辑运算
? 二元运算符——或运算符举例:

目标 结果

1 0 0 1 1 0 0 0 OR 00110101 -----------------10111101

逻辑运算
? 二元运算符——异或运算符举例:

目标 结果

10011000 00110101 -----------------10101101

XOR

小结
? 数据的表示和存储 ? 数的表示 ? 位运算


相关文档

2019精品第章数据的表示物理
2019精品第章数据的表示数学
新人教版八年级下第二十章数据的表示全章复习
第章数据的表示-精品
第章数据的表示00
优选教育第六章-第56课时 数据的表示(2)
第章数据的表示63页PPT
第章数据的表示00-精品
2018年秋八年级数学上册 第十五章 数据的收集与表示 15.2 数据的表示(第1课时)扇形统计图课件 (新版)华
3.数据的表示(第一课时)
电脑版