第 4章 计算机运算与编码基础
4.1 进位计数制及其运算
4.2 数值在计算机中的表示
4.3 信息编码
4.1 进位计数制及其运算
4.1.1 进位计数制及其转换
1,基数 (Radix)
不同的计数制是以基数 r来区分的:
r= 10 为十进制,可使用 0,1,…,9共 10个数符;
r= 2 为二进制,可使用 0,1共 2个数符;
r= 8 为八进制,可使用 0,1,2,…,7共 8个数符;
r= 16 为十六进制,可使用 0,1,2,…,9,
A,B,C,D,E,F共 16个数符 。
2,二进制数计算机内部是一个二进制数字世界,只有两个数符即 0和 1。
采用二进制表示信息有以下几个优点:
(1) 易于物理实现
(2) 二进制数运算简单
(3) 机器可靠性高
(4) 通用性强二进制运用于数值信息编码,适用于各种非数值信息的数字化编码 。 特别是仅有的两个符号 0和 1正好与逻辑命题的两个值,真,与
,假,相对应,
3,r进制转换为十进制对于任意的 r 进制数,可以用以下的展开和式
m
m
n
nmn
raraarararaaaaa
1
101101
)(,
其中 r 为基数,整数为 n+1 位,小数为 m 位。
例 4 - 1 分别把 (1101.01)2,(237.4)8,(A5.C)16 转换为十进制数。
解,分别按以上展开和式得
210123
2
212021202121)01.1 1 0 1(
25.1325.0148
5.1595.072412884878382)4.237(
1012
8
75.16575.0516016121651610).5(
101
16
CA
4,十进制整数转换为 r进制数十进制整数 t 转换为 r 进制整数,)(01 raaat n 。
转换规则为 除 r 取余 法,由 r 进制整数按位展开公式的以下变形式
0101
)( arararaaat
n
nn
0121
))))0(((( arararara
nn
t 除以 r,商为整数 121
)))0((( ararara
nn
,余数为 0
a;
所得商再除以 r,商为整数 21
)))0((( arara
nn
,余数为 1
a;
依此类推,直至商为 0,余数为 n
a
。
例 4-2 求 13=( ) 2
解,实施除 2取余商 余数
13/2=6 1 (低)
6/2 =3 0
3/2 =1 1
1/2 =0(结束) 1 (高)
十进制数 13转换为二进制数的结果为
13=(1101)2
5,十进制小数 t转换为 r进制小数十进制小数 t 转换为 r 进制小数,)(.0
1
raat
m
。
转换规则为 乘 r 取整 法,由 r 进制小数按位展开公式的以下变形式
m
mm
rarararaat
2
2
1
11
)(.0
rrr
aaa
m
1
)
1
)
1
)0(((
21
t 乘 r,得整数部分为 1?
a
,小数部分为
rr
aa
m
1
)
1
)0((
2
;
小数部分再乘 r,得整数部分为
2?
a
,小数部分为
)
1
)0((
r
a
m
;
依此类推,直至小数部分为 0,此时整数部分为
m
a
,转换完成。
例 4 - 4 求
210
)()3 7 5.0(?
解,对小数 反复实施 乘 2 取整,直到小数部分为零时止。
转换后的 结果为,210
)011.0()375.0(?
整数部分 小数部分
0,3 7 5 ×2 = 0,7 5 = 0 (高) + 0.75
0,7 5 ×2 = 1,5 = 1 + 0.5
0.5 ×2 = 1,0 = 1 (低) + 0 ( 结束 )
6,八进制转换为二进制八进制转换为二进制,根据表 4 - 1 将每位八进制数码展开为 3 位二进制数码 。
表 4 - 1 二进制与八进制转换表
1 位八进制数
0 1 2 3 4 5 6 7
3 位二进制数
000 001 010 011 100 101 110 111
例 4 - 6 求 28
)()14.30(?
(30.14) 8 = 011 000,001 100
3 0 1 4
= (11000.0011) 2
7,十六进制转换为二进制十六进制转换为二进制,根据表 4 - 2 将每位十六进制数码展开为
4 位二进制数码。
表 4 - 2 二进制与十六进制转换表
1 位十六进 0 1 2 3 4 5 6 7
4 位二进制 0000 0001 0010 0011 0100 0101 0110 0111
1 位十六进 8 9 A B C D E F
4 位二进制 1000 1001 1010 1011 1100 1101 1110 1111
例 4 - 7 求
216
)().70(?AC
解,
16
).70( AC
= 0111 0000 1100,1010
7 0 C A
= ( 11100001100.101 )2
8,二进制转换为八进制与十六进制注意到,因而二进制转换为八进制与十六进制有以下简明的转换规则,
二进制转换为八进制数的转换规则:以小数点为中心,分别向左,向右每三位分成一组,首尾组不足三位时首尾用,0,补足,将每组二进制数根据表 4-1
转换成一位八进制数码 。
二进制转换为十六进制数的转换规则:以小数点为中心,分别向左,向右每四位分成一组,首尾组不足四位时首尾用,0,补足,将每组二进制数根据表
4-2转换成一位十六进制数 。
返回本节
4.1.2 二进制数的运算
1,二进制数的算术运算二进制数的加减乘除算术运算法则与十进制基本相同,唯一的区别在于二进制是逢,二,进位
( 或借位 ) 。
加法运算,0+0=0; 1+0=0+1=1; 1+1=10( 向高位进 1)
减法运算,0-0=1-1=0; 1-0=1; 0-1=-1 (需借位 )
乘法运算,0*0=0*1=1*0=0; 1*1=1。
除法运算,0/1=0; 1/1=1。 ( 0不能作除数 )
2,二进制数的逻辑运算
(1) 逻辑数据的表示二进制的数码只有 0 与 1,通常用 1 表示真 (Ture),用 0 表示假
(False) 。
( 2 ) 逻辑运算逻辑运算的基本运算有:与、或、非。
1 ) 逻辑与运算规则,
111,0001001
2 ) 逻辑或运算规则,
000,1111001
3 )逻辑非运算( NOT )是操作对象进行取反操作,逻辑非运算规则,
01,10
4.2 数值在计算机中的表示
4.2.1 数值型数据的特点
(1) 数的长度计算机中同一类型的数据具有相同的数据长度,与数据的实际长度无关 。
(2) 数的符号用数的最高位 (左边第一位 )来表示数的正负号,并约定以,0” 表示正,以,1” 表示负 。
(3) 小数点的表示方法在计算机中表示数值小数点的位置总是隐含的,即约定小数点的位置 。
4.2.2 数的定点表示与浮点表示
1,定点数表示方法
① 定点整数小数点的位置约定在最低数值位的后面,如下图所示。
符号位 数值部分,← 小数点位置例如,假设 定点整数占 8 位,则数值 83 存放的形式如下,
0 1 0 1 0 0 1 1
② 定点小数小数点的位置约定在数符位和数值部分的最高位之间。
例如,假 设 2 个字节,则十进制小数 0,6 8 7 6 定点数表示的形式下,
0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1
↑? ← 小数点位置 数值部分数符
2,浮点数表示方法浮点数的思想来源于数学中的指数表示形式,例如,十进制数
3
10256.0256
,2)1 0 1 1 0 1 1( 可以表示为
111
21 0 1 1 0 1 1.0?
(1) 浮点表示法中的尾数与阶码对于一个 R 进制数,则
C
RMN
。 M 与 C 分别称为浮点数 的 尾数与阶码。
(2) 浮点数的表示形式任意二进制规格化浮点数表示形式为
p
dN
2
其中纯小数 d 为尾数,整数 p 为阶码,d 与 p 都带符号。 存储形式 如下,
阶符( 1 位) 阶码 p 数符( 1 位) 尾数 d
例如,
011
21 1 0 1 1.0
在机内的表示形式如下,
1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4.2.3 原码、反码与补码返回本节
1,原码,用最高位表示数值的符号,其后各位表示该数值的绝对值的表示法称为原码表示法。其中符号位为 0 时表示该数值为正,符号位为 1 时表示该数值为负。
例 [ +1000110 ] 原 = 01000110,[ - 1000110 ] 原 = 11000110
2,反码,对于正数,反码与原码相同;对于负数,反码保持原码的符号位不变,而其他各位取反。
例 [ +1000110 ] 反 = 01000110,[ - 1000110 ] 反 = 10111001
3,补码,对于正数,补码与原码相同;对于负数,补码保持原码的符 号位不变,而其他各位取反,然后在最低位加上 1 。 即负数 的 补码 为它的反码加 1 。
例 4 - 17 [ - 117 ] 反 = 10001010,加,1,得
[ - 117 ] 补 = 10001011
4.3 信息编码
4.3.1 字符的 ASCII码在计算机中,字符的编码通常用 ASCII码,美国标准信息交换码,。
( 1) 每个字符的二进制编码为 7位,故共含 2^7= 128
种不同 字符的编码 。
( 2) 表内有 33种控制码,位于表的左首两列和右下角位置上 。
( 3) 其余 95个字符为可打印或可显示字符,包括英文大小写字母共 52个,0~ 9的数字共 10个和 其他标点符号,运算符号等共 33个 。
( 4) 通常一个 ASCII码占用一个字节 (即 8个 bit),其最高位为,0” 。
返回本节
4.3.2 汉字的编码
( 1) 汉字国标码,为我国颁布的,信息交换用汉字编码字符集 ·基本集,。 它共包含 6763个常用汉字,
以及英,俄,日文字母及其符号共 687个 。
( 2) 汉字机内码,注意到 ASCII码的机内码的最高位为,0”,为与之相区别,将国标码的两个字节的最高位均改为,1” 。
( 3) 汉字输入码,最常见的有各种,音码,和,形码,。
( 4) 汉字字形码,汉字字形码又称为汉字字模,用于在显示器上或打印机上输出汉字的字形 。
( 5) 各种编码的关系
— → 输入码 — → 国标码 — → 机内码 — → 地址码 — → 字形码 — →
汉字输入 汉字输出
4.3.6 多媒体信息处理
多媒体技术对各种媒体信息的处理包括转换、
集成、传输管理和控制。
声音信号用数字 0与 1表示,称之为数字音频 。
存储声音信息的文件格式主要有,WAV文件、
VOC文件,MIDI文件,RMI文件等。
视觉类媒体有图像,图形,视频,动画,文本等。图形文件可分为两大类:位图和矢量图。
常见的视频文件有,AVI文件,DAT文件,MPG
文件。
作业与上机实验:
作业:
一选择题,二填空题作在书上;
三问答题 1,2,3作在作业本上。
上机实验:
第 13章练习并掌握一种汉字输入方法。
要求速度达到每分钟输入 15—— 20个汉字。
4.1 进位计数制及其运算
4.2 数值在计算机中的表示
4.3 信息编码
4.1 进位计数制及其运算
4.1.1 进位计数制及其转换
1,基数 (Radix)
不同的计数制是以基数 r来区分的:
r= 10 为十进制,可使用 0,1,…,9共 10个数符;
r= 2 为二进制,可使用 0,1共 2个数符;
r= 8 为八进制,可使用 0,1,2,…,7共 8个数符;
r= 16 为十六进制,可使用 0,1,2,…,9,
A,B,C,D,E,F共 16个数符 。
2,二进制数计算机内部是一个二进制数字世界,只有两个数符即 0和 1。
采用二进制表示信息有以下几个优点:
(1) 易于物理实现
(2) 二进制数运算简单
(3) 机器可靠性高
(4) 通用性强二进制运用于数值信息编码,适用于各种非数值信息的数字化编码 。 特别是仅有的两个符号 0和 1正好与逻辑命题的两个值,真,与
,假,相对应,
3,r进制转换为十进制对于任意的 r 进制数,可以用以下的展开和式
m
m
n
nmn
raraarararaaaaa
1
101101
)(,
其中 r 为基数,整数为 n+1 位,小数为 m 位。
例 4 - 1 分别把 (1101.01)2,(237.4)8,(A5.C)16 转换为十进制数。
解,分别按以上展开和式得
210123
2
212021202121)01.1 1 0 1(
25.1325.0148
5.1595.072412884878382)4.237(
1012
8
75.16575.0516016121651610).5(
101
16
CA
4,十进制整数转换为 r进制数十进制整数 t 转换为 r 进制整数,)(01 raaat n 。
转换规则为 除 r 取余 法,由 r 进制整数按位展开公式的以下变形式
0101
)( arararaaat
n
nn
0121
))))0(((( arararara
nn
t 除以 r,商为整数 121
)))0((( ararara
nn
,余数为 0
a;
所得商再除以 r,商为整数 21
)))0((( arara
nn
,余数为 1
a;
依此类推,直至商为 0,余数为 n
a
。
例 4-2 求 13=( ) 2
解,实施除 2取余商 余数
13/2=6 1 (低)
6/2 =3 0
3/2 =1 1
1/2 =0(结束) 1 (高)
十进制数 13转换为二进制数的结果为
13=(1101)2
5,十进制小数 t转换为 r进制小数十进制小数 t 转换为 r 进制小数,)(.0
1
raat
m
。
转换规则为 乘 r 取整 法,由 r 进制小数按位展开公式的以下变形式
m
mm
rarararaat
2
2
1
11
)(.0
rrr
aaa
m
1
)
1
)
1
)0(((
21
t 乘 r,得整数部分为 1?
a
,小数部分为
rr
aa
m
1
)
1
)0((
2
;
小数部分再乘 r,得整数部分为
2?
a
,小数部分为
)
1
)0((
r
a
m
;
依此类推,直至小数部分为 0,此时整数部分为
m
a
,转换完成。
例 4 - 4 求
210
)()3 7 5.0(?
解,对小数 反复实施 乘 2 取整,直到小数部分为零时止。
转换后的 结果为,210
)011.0()375.0(?
整数部分 小数部分
0,3 7 5 ×2 = 0,7 5 = 0 (高) + 0.75
0,7 5 ×2 = 1,5 = 1 + 0.5
0.5 ×2 = 1,0 = 1 (低) + 0 ( 结束 )
6,八进制转换为二进制八进制转换为二进制,根据表 4 - 1 将每位八进制数码展开为 3 位二进制数码 。
表 4 - 1 二进制与八进制转换表
1 位八进制数
0 1 2 3 4 5 6 7
3 位二进制数
000 001 010 011 100 101 110 111
例 4 - 6 求 28
)()14.30(?
(30.14) 8 = 011 000,001 100
3 0 1 4
= (11000.0011) 2
7,十六进制转换为二进制十六进制转换为二进制,根据表 4 - 2 将每位十六进制数码展开为
4 位二进制数码。
表 4 - 2 二进制与十六进制转换表
1 位十六进 0 1 2 3 4 5 6 7
4 位二进制 0000 0001 0010 0011 0100 0101 0110 0111
1 位十六进 8 9 A B C D E F
4 位二进制 1000 1001 1010 1011 1100 1101 1110 1111
例 4 - 7 求
216
)().70(?AC
解,
16
).70( AC
= 0111 0000 1100,1010
7 0 C A
= ( 11100001100.101 )2
8,二进制转换为八进制与十六进制注意到,因而二进制转换为八进制与十六进制有以下简明的转换规则,
二进制转换为八进制数的转换规则:以小数点为中心,分别向左,向右每三位分成一组,首尾组不足三位时首尾用,0,补足,将每组二进制数根据表 4-1
转换成一位八进制数码 。
二进制转换为十六进制数的转换规则:以小数点为中心,分别向左,向右每四位分成一组,首尾组不足四位时首尾用,0,补足,将每组二进制数根据表
4-2转换成一位十六进制数 。
返回本节
4.1.2 二进制数的运算
1,二进制数的算术运算二进制数的加减乘除算术运算法则与十进制基本相同,唯一的区别在于二进制是逢,二,进位
( 或借位 ) 。
加法运算,0+0=0; 1+0=0+1=1; 1+1=10( 向高位进 1)
减法运算,0-0=1-1=0; 1-0=1; 0-1=-1 (需借位 )
乘法运算,0*0=0*1=1*0=0; 1*1=1。
除法运算,0/1=0; 1/1=1。 ( 0不能作除数 )
2,二进制数的逻辑运算
(1) 逻辑数据的表示二进制的数码只有 0 与 1,通常用 1 表示真 (Ture),用 0 表示假
(False) 。
( 2 ) 逻辑运算逻辑运算的基本运算有:与、或、非。
1 ) 逻辑与运算规则,
111,0001001
2 ) 逻辑或运算规则,
000,1111001
3 )逻辑非运算( NOT )是操作对象进行取反操作,逻辑非运算规则,
01,10
4.2 数值在计算机中的表示
4.2.1 数值型数据的特点
(1) 数的长度计算机中同一类型的数据具有相同的数据长度,与数据的实际长度无关 。
(2) 数的符号用数的最高位 (左边第一位 )来表示数的正负号,并约定以,0” 表示正,以,1” 表示负 。
(3) 小数点的表示方法在计算机中表示数值小数点的位置总是隐含的,即约定小数点的位置 。
4.2.2 数的定点表示与浮点表示
1,定点数表示方法
① 定点整数小数点的位置约定在最低数值位的后面,如下图所示。
符号位 数值部分,← 小数点位置例如,假设 定点整数占 8 位,则数值 83 存放的形式如下,
0 1 0 1 0 0 1 1
② 定点小数小数点的位置约定在数符位和数值部分的最高位之间。
例如,假 设 2 个字节,则十进制小数 0,6 8 7 6 定点数表示的形式下,
0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1
↑? ← 小数点位置 数值部分数符
2,浮点数表示方法浮点数的思想来源于数学中的指数表示形式,例如,十进制数
3
10256.0256
,2)1 0 1 1 0 1 1( 可以表示为
111
21 0 1 1 0 1 1.0?
(1) 浮点表示法中的尾数与阶码对于一个 R 进制数,则
C
RMN
。 M 与 C 分别称为浮点数 的 尾数与阶码。
(2) 浮点数的表示形式任意二进制规格化浮点数表示形式为
p
dN
2
其中纯小数 d 为尾数,整数 p 为阶码,d 与 p 都带符号。 存储形式 如下,
阶符( 1 位) 阶码 p 数符( 1 位) 尾数 d
例如,
011
21 1 0 1 1.0
在机内的表示形式如下,
1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4.2.3 原码、反码与补码返回本节
1,原码,用最高位表示数值的符号,其后各位表示该数值的绝对值的表示法称为原码表示法。其中符号位为 0 时表示该数值为正,符号位为 1 时表示该数值为负。
例 [ +1000110 ] 原 = 01000110,[ - 1000110 ] 原 = 11000110
2,反码,对于正数,反码与原码相同;对于负数,反码保持原码的符号位不变,而其他各位取反。
例 [ +1000110 ] 反 = 01000110,[ - 1000110 ] 反 = 10111001
3,补码,对于正数,补码与原码相同;对于负数,补码保持原码的符 号位不变,而其他各位取反,然后在最低位加上 1 。 即负数 的 补码 为它的反码加 1 。
例 4 - 17 [ - 117 ] 反 = 10001010,加,1,得
[ - 117 ] 补 = 10001011
4.3 信息编码
4.3.1 字符的 ASCII码在计算机中,字符的编码通常用 ASCII码,美国标准信息交换码,。
( 1) 每个字符的二进制编码为 7位,故共含 2^7= 128
种不同 字符的编码 。
( 2) 表内有 33种控制码,位于表的左首两列和右下角位置上 。
( 3) 其余 95个字符为可打印或可显示字符,包括英文大小写字母共 52个,0~ 9的数字共 10个和 其他标点符号,运算符号等共 33个 。
( 4) 通常一个 ASCII码占用一个字节 (即 8个 bit),其最高位为,0” 。
返回本节
4.3.2 汉字的编码
( 1) 汉字国标码,为我国颁布的,信息交换用汉字编码字符集 ·基本集,。 它共包含 6763个常用汉字,
以及英,俄,日文字母及其符号共 687个 。
( 2) 汉字机内码,注意到 ASCII码的机内码的最高位为,0”,为与之相区别,将国标码的两个字节的最高位均改为,1” 。
( 3) 汉字输入码,最常见的有各种,音码,和,形码,。
( 4) 汉字字形码,汉字字形码又称为汉字字模,用于在显示器上或打印机上输出汉字的字形 。
( 5) 各种编码的关系
— → 输入码 — → 国标码 — → 机内码 — → 地址码 — → 字形码 — →
汉字输入 汉字输出
4.3.6 多媒体信息处理
多媒体技术对各种媒体信息的处理包括转换、
集成、传输管理和控制。
声音信号用数字 0与 1表示,称之为数字音频 。
存储声音信息的文件格式主要有,WAV文件、
VOC文件,MIDI文件,RMI文件等。
视觉类媒体有图像,图形,视频,动画,文本等。图形文件可分为两大类:位图和矢量图。
常见的视频文件有,AVI文件,DAT文件,MPG
文件。
作业与上机实验:
作业:
一选择题,二填空题作在书上;
三问答题 1,2,3作在作业本上。
上机实验:
第 13章练习并掌握一种汉字输入方法。
要求速度达到每分钟输入 15—— 20个汉字。