《数字编码和计算》PPT课件讲课教案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汉字内码:用于计算机内部存储处理以及 汉字信息处理系统或计算机系统之间的信 息交换。一个汉字用两个字节来表示,每 个字节只用后7位,最高位为0。
汉字编码体系
汉字字形码:确定一个汉字字形点阵的编码,用于汉字显 示和打印输出。保留在存储介质中的全部汉字字形码称为 字库。
如图所示是“啊”字的点阵外形。图中有16×16个方格, 称16×16点阵,每一个方格用一个二进制代码表示,用1 表示黑点,用0表示白点。常用的汉字字库除16×16点阵 汉字库之外,还有24×24点阵汉字库、32×32点阵汉字库 等。
10000011 11101100 00000000 00000000
阶码
尾
数
浮点数加减法
X=0.34×103 Y=0.45×104 X+Y= 0.34×103 + 0.45×104
=0.034×104 + 0.45×104 = 0.484 ×104 = 0.48 ×104
对阶
尾数加减 舍入处理
7位ASCII编码表:如表所示,利用该表可以 查找数字、运算符、标点符号以及控制符 等字符与ASCII码之间的对应关系。
一般字符的ASCII编码
高三位 低四位
010
011
100
101
110
111
0000
<空格>
0
@
P
、
p
0001
!
1
A
Q
a
q
0010
"
2
B
R
b
r
0011
#
3
C
S
c
s
0100
$
4
D
T
[x+y]浮 = 00 10, 11.0010 步骤5: 数据无溢出,因此结果为
x+y = 210×(-0.1110)
浮点数加减法
例: 两浮点数x = 210×0.1101,y = 210×(-0.1010)。假设尾 数在计算机中以补码表示,可存储4位尾数,阶码以原码 表示,采用0舍入,求x-y。
5+7=12
0010
0101
+ 0111
+ 0111
1001
1100 ?
+ 0110
1 0010 =12
ASCII码
ASCII(American Standards Committee of Information)码:是由美国信息交换标准委员 会制定的、国际上使用最广泛的字符编码 方案。
ASCII码的编码方案:采用7位二进制数表示 一个字符,把7位二进制数分为高三位( b7b6b5)和低四位(b4b3b2b1)
溢出
上溢、下溢 检测方法: ➢ 双符号位法(变形补码、模4补码)
两符号位相同,表示未溢出 两符号位相异,表示溢出:“01”-上溢,“10”-下溢 最高符号位始终指示正确的符号位
VSf1Sf2
➢ 单符号位法
最高有效位有进位而符号位无进位-上溢 最高有效位无进位而符号位有进位-下溢
VCf C0
双符号位加法/减法
数据校验码
原理:使用额外的校验位增加不同数字间编码 的距离
阶码部分 8位
尾数部分 23位
规格化的浮点数:为了提高浮点数表示的精度通常规定 其尾数的最高位必须是非零的有效位,称为浮点数的规 格化形式。
二进制浮点数规格化
规格化数是指尾数的最高位为1
对于正数:0.5 ≤尾数S< 1,即0.1xxxx(原、补码) 对于负数:原码:-1<尾数S ≤ -0.5,即1.1xxxx
《数字编码和计算》PPT 课件
数字编码
真值 原码表示法 补码表示法 反码表示法 移码表示法
机器数或机器码
原码
原码表示法:用符号位和数值表示带符号 数,正数的符号位用“0”表示,负数的符号 位用“1”表示,数值部分用二进制形式表示。
〖 例2-15 〗设带符号数的真值X=+62和Y= -62则他们的原码分别为: [X]原=0111110 [Y]原=1111110
N0 Nn Nn-1 ...... N2 N1 .
符号位
数值部分
小数点
数的范围:二进制的(m+1)位定点整数格 式的数N,所能表示的数的范围为|N|≤ 2m-1。
定点整数格式
比例因子:对于绝对值大于该范围的数, 如果直接使用定点小数格式也将会产生 “溢出”,需根据实际需要选择一个比例 因子进行调整,使所表示的数据在规定的 范围之内。
解:[x]补=1.0100,[y]补=1.1000 [x]补 1.0100
+ [y]补 1.1000 10.1100
最高有效位无进位 而符号位有进位
下溢
原码的乘法
原码适合进行乘除运算 补码用于进行加减运算 例:x=0.1101,y=0.1011
定点小数格式
定点小数格式:把小数点固定在数值部分最高 位的左边。
d
t
0101
%
5
E
U
e
u
0110
&
6
F
V
f
v
0111
'
7
G
W
g
w
1000
(
8
H
X
h
x
1001
)
9
I
Y
i
y
1010
*
:
J
Z
j
z
1011
+
;
K
[
k
{
1100
,
<
L
/
l
|
1101
-
=
M
]
m
}
1110
·
>
N
^
n
~
1111
/
?
O
-
o
DEL
汉字编码体系
汉字输入码(汉字外码):由输入设备产 生的汉字编码,如区位码、国标码、拼音 码、五笔字型码、智能ABC汉字输入码等。
计算步骤
判断正负 若相同则加,判断是否溢出;若不同则减
缺点:实现复杂
补码的加法
5710+(-68)10 =001110012+101111002 =111101012 = -1110
计算步骤
直接相加,判断是否溢出
补码加法 [x+y]补= [x]补+ [y]补
补码减法 [x-y]补= [x]补 -[y]补 = [x]补 +[-y]补
浮点数加减法
例: 两浮点数x = 201×0.1101,y = 211×(-0.1010)。假设尾 数在计算机中以补码表示,可存储4位尾数,阶码以原码 表示,采用0舍入,求x+y。
解:将x,y转换成浮点数据格式(双符号位)
[x]浮 = 00 01, 00.1101 [y]浮 = 00 11, 11.0110 步骤1:对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得
+ [y]补 11.1000 10.1100
下溢
单符号位加法/减法
例1:x=+0.1100,y=+0.1000,求x+y
解:[x]补=0.1100,[y]补=0.1000
[x]补 0.1100 + [y]补 0.1000
01.0100
最高有效位有进位 而符号位无进位
上溢
例2:x=-0.1100,y=-0.1000,求x+y
定点整数补充实例
例:假设定点数占8位,则十进制的整数83在 机内的表示形式是什么?
解:因为(83)10=(1010011)2
0101001 1
符号位
数值部分
定点整数补充实例
例:假设定点数的长度为2个字节,则十进制 的整数-193在机内的表示形式是什么?
解:因为(-193)10=(-11000001)2
8421码
8421码属于BCD码(Binary-Coded Decimal) 的一种。8421码中从左到右每一位的1分别 表示8,4,2,1。
〖 例2-19 〗将十进制数5678转换为BCD码 十进制数: 5 6 7 8 BCD码: 0101 0110 0111 1000 所以十进制数5678的BCD码为0101 0110 0111
[x]浮 = 00 11, 00.001101 步骤2:对尾数求和,得:
小阶对大阶
[x+y]浮 = 00 11, 11.100101 步骤3:由于符号位和第一位数相等,不是规格化数,向左规格化,得
[x+y]浮 = 00 10, 11.001010 步骤4:截去。
•不符合规格化:左规,尾数左移,
小数点右移
步骤4:截去。 [x+y]浮 = 00 11, 00.1011
步骤5: 数据无溢出,因此结果为 x+y = 211×(0.1011)
BCD码
BCD码:用4位二进制数表示1位10进制数, 最常用会计制度等需要高精确度计算的场 合。
十进制数与BCD码之间的转换:可按位(或 四位二进制数组)直接进行。
反码
反码表示法:正数的反码与原码相同,负 数的反码为对该数的原码除符号位外各位 取反。
〖 例2-17〗设带符号数的真值X=+62和Y= -62他们的原码和反码分别为: [X]原=0111110 [X]反=0111110 [Y]原=1111110 [Y]反=1000001
反码
反码表示法:
正数——真值本身;负数——除符号位外按位取反
10000 0001100000 1
数值部分 符号位
浮点表示法
浮点表示法:小数点的位置不固定,一个浮点数分为阶 码和尾数两部分。
阶码:用于表示小数点在该数中的位置,是一个整数。 尾数:用于表示数的有效数值,可以采用整数或纯小数
两种形式 可供选择的一种位数分配形式:设字长为32位
符号位 1位
原码
原码表示法:符号位表示正负
x=0.1100110,
[x]原=0.1100110
x=-0.1100110,
[x]原=1.1100110
x=1100110,
[x]原=01100110
x=-1100110,
[x]原=11100110
注意:[+0]原=00000000, [-0]原=10000000
补码
补码表示法:
正数——真值本身;负数——反码+1
x=0.1100110, 身)
[x]补100111,
x=1100110, (本身)
[x]补=1.0011001 [x]补=01100110
x=-1100111,
[x]补=10011001
原码的加法
5710+(-68)10 =001110012+110001002 =100010112 = -1110
1000
8421码
〖 例2-20 〗将BCD码 1001 0110 0111 0101转换为十进制数。
BCD码: 1001 0110 0111 0101
十进制数: 9
6
8
5
所以BCD码 1001 0110 0111 0101对应的十进 制数为9685
8421码加法
采用8421码实现下列运算
2+7=9
例1:x=+0.1100,y=+0.1000,求x+y
解:[x]补=00.1100,[y]补=00.1000
[x]补 00.1100
+ [y]补 00.1000
01.0100
上溢
例2:x=-0.1100,y=-0.1000,求x+y
解:[x]补=11.0100,[y]补=11.1000 [x]补 11.0100
x=1100110,
[x]反=01100110
x=-1100111,
[x]反=10011000
注意:[+0]反=00000000, [-0]反=11111111
补码
补码表示法:正数的补码与原码相同,负 数的补码为对该数的原码除符号位外各位 取反,然后在最后一位加1。
〖 例2-18 〗设带符号数的真值X=+62和Y= -62他们的原码和补码分别为: [X]原=0111110 [X]补=0111110 [Y]原=1111110 [Y]补=1000010
补码:-1 ≤尾数S <-0.5,即1.0xxxx
故规格化数用 原码表示:最高位是1 补码表示:尾数最高位与符号位相反
浮点数补充实例
假定一个浮点数用4个字节来表示,则一般 阶码占用一个字节,尾数占用3个字节,且 每部分的最高位均用以表示该部分的正负 号。
例:-0.11011×2-011在机内的表示形式是什 么?
解:将x,y转换成浮点数据格式(双符号位) [x]浮 = 00 10, 00.1101 [y]浮 = 00 10, 11.0110 [-y]浮 = 00 11, 00.1010
步骤1:对阶,阶码相同 步骤2:对尾数相减,得:
[x-y]浮 = 00.1101 + 00.1010= 01.0111
步骤3:尾数相加减,尾数部分溢出,向右规格化,小数点左移得 [x-y]浮 = 00 11, 00.10111
定点小数补充实例
例:假设定点数的长度为2个字节,则十进制 的小数0.6876在机内的表示形式是什么?
解:因为 (0.6876)10=(0.10110000000001101…)2
01011 00000000011
小数点
数值部分
符号位
定点整数格式
定点整数格式:把小数点固定在数值部分 最低位的右边。
N0 . N-1 N-2 ......
N-m
符号位 小数点
数值部分
数的范围:二进制的(m+1)位定点小数格式 的数N,所能表示的数的范围为|N|≤ 1~2-m。
定点小数格式
比例因子:对于绝对值大于1的数,如果直 接使用定点小数格式将会产生“溢出”, 需根据实际需要使用一个比例因子,将原 始数据按该比例缩小,以定点小数格式表 示,得出结果后再按该比例扩大得到实际 的结果。
汉字编码体系
汉字字形码:确定一个汉字字形点阵的编码,用于汉字显 示和打印输出。保留在存储介质中的全部汉字字形码称为 字库。
如图所示是“啊”字的点阵外形。图中有16×16个方格, 称16×16点阵,每一个方格用一个二进制代码表示,用1 表示黑点,用0表示白点。常用的汉字字库除16×16点阵 汉字库之外,还有24×24点阵汉字库、32×32点阵汉字库 等。
10000011 11101100 00000000 00000000
阶码
尾
数
浮点数加减法
X=0.34×103 Y=0.45×104 X+Y= 0.34×103 + 0.45×104
=0.034×104 + 0.45×104 = 0.484 ×104 = 0.48 ×104
对阶
尾数加减 舍入处理
7位ASCII编码表:如表所示,利用该表可以 查找数字、运算符、标点符号以及控制符 等字符与ASCII码之间的对应关系。
一般字符的ASCII编码
高三位 低四位
010
011
100
101
110
111
0000
<空格>
0
@
P
、
p
0001
!
1
A
Q
a
q
0010
"
2
B
R
b
r
0011
#
3
C
S
c
s
0100
$
4
D
T
[x+y]浮 = 00 10, 11.0010 步骤5: 数据无溢出,因此结果为
x+y = 210×(-0.1110)
浮点数加减法
例: 两浮点数x = 210×0.1101,y = 210×(-0.1010)。假设尾 数在计算机中以补码表示,可存储4位尾数,阶码以原码 表示,采用0舍入,求x-y。
5+7=12
0010
0101
+ 0111
+ 0111
1001
1100 ?
+ 0110
1 0010 =12
ASCII码
ASCII(American Standards Committee of Information)码:是由美国信息交换标准委员 会制定的、国际上使用最广泛的字符编码 方案。
ASCII码的编码方案:采用7位二进制数表示 一个字符,把7位二进制数分为高三位( b7b6b5)和低四位(b4b3b2b1)
溢出
上溢、下溢 检测方法: ➢ 双符号位法(变形补码、模4补码)
两符号位相同,表示未溢出 两符号位相异,表示溢出:“01”-上溢,“10”-下溢 最高符号位始终指示正确的符号位
VSf1Sf2
➢ 单符号位法
最高有效位有进位而符号位无进位-上溢 最高有效位无进位而符号位有进位-下溢
VCf C0
双符号位加法/减法
数据校验码
原理:使用额外的校验位增加不同数字间编码 的距离
阶码部分 8位
尾数部分 23位
规格化的浮点数:为了提高浮点数表示的精度通常规定 其尾数的最高位必须是非零的有效位,称为浮点数的规 格化形式。
二进制浮点数规格化
规格化数是指尾数的最高位为1
对于正数:0.5 ≤尾数S< 1,即0.1xxxx(原、补码) 对于负数:原码:-1<尾数S ≤ -0.5,即1.1xxxx
《数字编码和计算》PPT 课件
数字编码
真值 原码表示法 补码表示法 反码表示法 移码表示法
机器数或机器码
原码
原码表示法:用符号位和数值表示带符号 数,正数的符号位用“0”表示,负数的符号 位用“1”表示,数值部分用二进制形式表示。
〖 例2-15 〗设带符号数的真值X=+62和Y= -62则他们的原码分别为: [X]原=0111110 [Y]原=1111110
N0 Nn Nn-1 ...... N2 N1 .
符号位
数值部分
小数点
数的范围:二进制的(m+1)位定点整数格 式的数N,所能表示的数的范围为|N|≤ 2m-1。
定点整数格式
比例因子:对于绝对值大于该范围的数, 如果直接使用定点小数格式也将会产生 “溢出”,需根据实际需要选择一个比例 因子进行调整,使所表示的数据在规定的 范围之内。
解:[x]补=1.0100,[y]补=1.1000 [x]补 1.0100
+ [y]补 1.1000 10.1100
最高有效位无进位 而符号位有进位
下溢
原码的乘法
原码适合进行乘除运算 补码用于进行加减运算 例:x=0.1101,y=0.1011
定点小数格式
定点小数格式:把小数点固定在数值部分最高 位的左边。
d
t
0101
%
5
E
U
e
u
0110
&
6
F
V
f
v
0111
'
7
G
W
g
w
1000
(
8
H
X
h
x
1001
)
9
I
Y
i
y
1010
*
:
J
Z
j
z
1011
+
;
K
[
k
{
1100
,
<
L
/
l
|
1101
-
=
M
]
m
}
1110
·
>
N
^
n
~
1111
/
?
O
-
o
DEL
汉字编码体系
汉字输入码(汉字外码):由输入设备产 生的汉字编码,如区位码、国标码、拼音 码、五笔字型码、智能ABC汉字输入码等。
计算步骤
判断正负 若相同则加,判断是否溢出;若不同则减
缺点:实现复杂
补码的加法
5710+(-68)10 =001110012+101111002 =111101012 = -1110
计算步骤
直接相加,判断是否溢出
补码加法 [x+y]补= [x]补+ [y]补
补码减法 [x-y]补= [x]补 -[y]补 = [x]补 +[-y]补
浮点数加减法
例: 两浮点数x = 201×0.1101,y = 211×(-0.1010)。假设尾 数在计算机中以补码表示,可存储4位尾数,阶码以原码 表示,采用0舍入,求x+y。
解:将x,y转换成浮点数据格式(双符号位)
[x]浮 = 00 01, 00.1101 [y]浮 = 00 11, 11.0110 步骤1:对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得
+ [y]补 11.1000 10.1100
下溢
单符号位加法/减法
例1:x=+0.1100,y=+0.1000,求x+y
解:[x]补=0.1100,[y]补=0.1000
[x]补 0.1100 + [y]补 0.1000
01.0100
最高有效位有进位 而符号位无进位
上溢
例2:x=-0.1100,y=-0.1000,求x+y
定点整数补充实例
例:假设定点数占8位,则十进制的整数83在 机内的表示形式是什么?
解:因为(83)10=(1010011)2
0101001 1
符号位
数值部分
定点整数补充实例
例:假设定点数的长度为2个字节,则十进制 的整数-193在机内的表示形式是什么?
解:因为(-193)10=(-11000001)2
8421码
8421码属于BCD码(Binary-Coded Decimal) 的一种。8421码中从左到右每一位的1分别 表示8,4,2,1。
〖 例2-19 〗将十进制数5678转换为BCD码 十进制数: 5 6 7 8 BCD码: 0101 0110 0111 1000 所以十进制数5678的BCD码为0101 0110 0111
[x]浮 = 00 11, 00.001101 步骤2:对尾数求和,得:
小阶对大阶
[x+y]浮 = 00 11, 11.100101 步骤3:由于符号位和第一位数相等,不是规格化数,向左规格化,得
[x+y]浮 = 00 10, 11.001010 步骤4:截去。
•不符合规格化:左规,尾数左移,
小数点右移
步骤4:截去。 [x+y]浮 = 00 11, 00.1011
步骤5: 数据无溢出,因此结果为 x+y = 211×(0.1011)
BCD码
BCD码:用4位二进制数表示1位10进制数, 最常用会计制度等需要高精确度计算的场 合。
十进制数与BCD码之间的转换:可按位(或 四位二进制数组)直接进行。
反码
反码表示法:正数的反码与原码相同,负 数的反码为对该数的原码除符号位外各位 取反。
〖 例2-17〗设带符号数的真值X=+62和Y= -62他们的原码和反码分别为: [X]原=0111110 [X]反=0111110 [Y]原=1111110 [Y]反=1000001
反码
反码表示法:
正数——真值本身;负数——除符号位外按位取反
10000 0001100000 1
数值部分 符号位
浮点表示法
浮点表示法:小数点的位置不固定,一个浮点数分为阶 码和尾数两部分。
阶码:用于表示小数点在该数中的位置,是一个整数。 尾数:用于表示数的有效数值,可以采用整数或纯小数
两种形式 可供选择的一种位数分配形式:设字长为32位
符号位 1位
原码
原码表示法:符号位表示正负
x=0.1100110,
[x]原=0.1100110
x=-0.1100110,
[x]原=1.1100110
x=1100110,
[x]原=01100110
x=-1100110,
[x]原=11100110
注意:[+0]原=00000000, [-0]原=10000000
补码
补码表示法:
正数——真值本身;负数——反码+1
x=0.1100110, 身)
[x]补100111,
x=1100110, (本身)
[x]补=1.0011001 [x]补=01100110
x=-1100111,
[x]补=10011001
原码的加法
5710+(-68)10 =001110012+110001002 =100010112 = -1110
1000
8421码
〖 例2-20 〗将BCD码 1001 0110 0111 0101转换为十进制数。
BCD码: 1001 0110 0111 0101
十进制数: 9
6
8
5
所以BCD码 1001 0110 0111 0101对应的十进 制数为9685
8421码加法
采用8421码实现下列运算
2+7=9
例1:x=+0.1100,y=+0.1000,求x+y
解:[x]补=00.1100,[y]补=00.1000
[x]补 00.1100
+ [y]补 00.1000
01.0100
上溢
例2:x=-0.1100,y=-0.1000,求x+y
解:[x]补=11.0100,[y]补=11.1000 [x]补 11.0100
x=1100110,
[x]反=01100110
x=-1100111,
[x]反=10011000
注意:[+0]反=00000000, [-0]反=11111111
补码
补码表示法:正数的补码与原码相同,负 数的补码为对该数的原码除符号位外各位 取反,然后在最后一位加1。
〖 例2-18 〗设带符号数的真值X=+62和Y= -62他们的原码和补码分别为: [X]原=0111110 [X]补=0111110 [Y]原=1111110 [Y]补=1000010
补码:-1 ≤尾数S <-0.5,即1.0xxxx
故规格化数用 原码表示:最高位是1 补码表示:尾数最高位与符号位相反
浮点数补充实例
假定一个浮点数用4个字节来表示,则一般 阶码占用一个字节,尾数占用3个字节,且 每部分的最高位均用以表示该部分的正负 号。
例:-0.11011×2-011在机内的表示形式是什 么?
解:将x,y转换成浮点数据格式(双符号位) [x]浮 = 00 10, 00.1101 [y]浮 = 00 10, 11.0110 [-y]浮 = 00 11, 00.1010
步骤1:对阶,阶码相同 步骤2:对尾数相减,得:
[x-y]浮 = 00.1101 + 00.1010= 01.0111
步骤3:尾数相加减,尾数部分溢出,向右规格化,小数点左移得 [x-y]浮 = 00 11, 00.10111
定点小数补充实例
例:假设定点数的长度为2个字节,则十进制 的小数0.6876在机内的表示形式是什么?
解:因为 (0.6876)10=(0.10110000000001101…)2
01011 00000000011
小数点
数值部分
符号位
定点整数格式
定点整数格式:把小数点固定在数值部分 最低位的右边。
N0 . N-1 N-2 ......
N-m
符号位 小数点
数值部分
数的范围:二进制的(m+1)位定点小数格式 的数N,所能表示的数的范围为|N|≤ 1~2-m。
定点小数格式
比例因子:对于绝对值大于1的数,如果直 接使用定点小数格式将会产生“溢出”, 需根据实际需要使用一个比例因子,将原 始数据按该比例缩小,以定点小数格式表 示,得出结果后再按该比例扩大得到实际 的结果。