第3章数制与码制.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
2020/2/7
表1-1
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
几种计数进制数的对照表
二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
结束 放映
∴(0.3125)10 =(0.0101)2 说明:有时可能无法得到0的结果,这时应
根据转换精度的要求适当取一定位数。
2020/2/7
8
小数部分的转换:乘基取整法。
❖
0.625
结束 放映
❖
x) 2
❖
1.250
整数1(k-1)最高位
❖
x) 2
❖
0.500
整数0(k-2)次高位
❖
x) 2
❖
1.000
结束
补充: 数制和码制
放映
ห้องสมุดไป่ตู้
§1. 数制 §2. 不同数制间的转换 §3. 二进制代码 §4. 字符编码
2020/2/7
1
§1. 数制
结束 放映
数码:由数字符号构成且表示物理量大小的数
字和数字组合。
数制:数制是一种计数的方法 ,它是计数进 位制的简称。
1. 十进制
数字符号(数码):0、1、2、3、4、5、6、7、8、9 计数规则:逢十进一 基数:10 权:10的幂
2例020:/2/7 (1999)10 =(1×103+9×102+9×101+9×100)120
2. 二进制
❖ 数字符号:0、1(二进制数中只有0和1两位数码) ❖ 计数规则:逢二进一 ❖ 基数:2 ❖ 权:2的幂
结束 放映
例:一(般1形01式11为01:)2 = ((1×N)262+=0(×b25n+-11b×n-22…4+b11×b02)3+21×22+0×21+1×20)10 b1×21+=b==0((×b(n9-26130×4))+10201n+0-11+6+b8n+-24×+02+n-12+)…10 …+
[N1]原= 0100110 [N2]原= 1010101
根据上述原码形成的规则,一个n位的整数N(包括一 位符号位)的原码一般表示式为
❖
N
0≤ N < 2n-1
❖ [N]原=
❖
2n-1-N
-2n-1<N≤0
❖ 若对于定点小数,通常小数点定在最高位的左边, 这时数值小于1
❖
N
0≤N<1
❖ [N]原=
❖
1-N -1<N≤0
2. 反码
❖ 反码又称为“对1的补数”。用反码表示时,左边第1位 也是符号位,符号位为0代表正数,符号位为1代表负数。 对于负数,反码的数值是将原码数值按位求反,即原码 的某位为1,反码的相应位就为0,或者原码的某位为0, 反码的相应位就为1。而对于正数,反码和原码相同。 所以,反码数值的形式与它的符号位有关。例如两个带 符号的二进制数分别为N1和N2,其真值形式为:
❖ N1 = +100110 N2 = - 010101 则N1和N2的反码表示 形式为:
❖ [N1]反 = 0100110 [N2]反= 1101010
反码的一般表示:
❖ 根据上述反码形成的规则,一个n位的整数N(包括一位 符号位)的反码一般表示式为
N
0≤N<2n-1
[N]反= (2n-1)+N -2n-1<N≤0
整数0(k-2)最低位
说明:有时可能无法得到0的结果,这时应根据转换精度的要求适当取一定位数。
2020/2/7
9
3. 二进制与八进制、十六进制之间的转换
(1)二进制与八进制之间的转换 三位二进制数对应一位八进制数。
结束 放映
(6574)8 =(110,101,111,100)2 =(110101111100)2
2020/2/7
=(5D6)16
结束 放映
11
结束
具体转换方法:
放映
❖ 二进制数:010 101 111 ·000 101 101 100 ❖ 八进制数: 2 5 7 . 0 5 5 4 ❖ 二进制数:1010 1111 ·0001 0110 1100 ❖ 十六进制: A F . 1 6 C
2020/2/7
二、补码运算
❖
[N1+N2]补=[N1]补+[N2]补 ❖ [N1-N2]补=[N1]补+[-N2]补 ❖ 补码的加、减运算规则是:两数和的补码等于两数的
补码之和,而两数差的补码也可以用加法来实现。运 算时,符号位和数值位一样参加运算,如果符号位产 生进位,则需将此进位“丢掉”。运算结果的符号位 为0时,说明是正数的补码;运算结果的符号为1时, 说明是负数的补码, 应对结果再求补码才得原码。 下面举例说明。例 已知N1=-0.11001, N2=0.00100, 求[N1+N2]补
例:求(9B)16 =(
)10
∴(9B)16 =(155)10
2020/2/7
6
2. 十进制数转换成其它进制数 整数部分的转换:除基取余法。
例:求(217)10 =(
)2
解: ∵ 2∣217 …………余1
b0
2∣108 …………余0
b1
2∣54 …………余0
b2
2∣27 …………余1
b3
2∣13 …………余1
数值越大,位数越多,读写不方便,容易出错!
2020/2/7
3
3. 八进制 ❖ 数字符号:0、1、2、3、4、5、6、7 ❖ 计数规则:逢八进一 ❖ 基数:8 ❖ 权:8的幂
例: (127)8=(1×82+2×81+7×80)10
=(64+16+7)10 =(87)10
2020/2/7
结束 放映
4
4. 十六进制
❖ 一个带符号的数由两部分组成:一部分表示数的符号; 另一部分表示数的数值。对于一个n位二进制数。若数 的第一位为符号位,则剩下的n-1位就表示数的数值部 分。一般用正号“+”和负号“-”来表示带符号的二进 制数,叫做符号数的真值。
真值与机器数
❖ 数的真值形式是一种原始形式, 不能直接用于 计算机中。当把符号数值化后,就可在计算机中 使用它。数的符号是一个具有正、负两种值的离 散信息,它可以用一位二进制数来表示。习惯上 以0表示正数,而以1表示负数。计算机中使用的 符号数叫做机器数。
示例说明:
❖ 例: 已知N1 = -0.11001, N2 = -0.00100, 求 [N1+N2]补和 [N1-N2]补。
❖ 解: (1) [N1+N2]补=[N1]补+[N2]补 =1.00111+1.11100
❖
1. 0 0 1 1 1
❖
+) 1. 1 1 1 0 0
❖ 丢掉← 1 1. 0 0 0 1 1
-1≤N<0
4. 机器数的加、减运算
❖ 一、原码运算
❖ 原码中的符号位仅用于表示数的正、负,不参加 运算,进行运算的只是数值部分。原码运算时, 应首先比较两个数的符号,若两数的符号相同, 则两数相加就是将两个数的数值相加,结果的符 号不变;若两数的符号不同,就得进一步比较两 数的数值相对大小,两数相加是用数值较大的数 减去数值较小的数,结果的符号取数值较大的数 的符号 。
同样,对于定点小数,若小数部分的位数为m,则它的反 码一般表示为:
N
0≤N<1
[N]反= (2-2-m)+N -1<N≤0
3. 补码
❖ 补码又称为“对2的补数”。在补码表示中,正 数的表示同原码和反码的表示是一样的,而负数 的表示却不同。对于负数,其符号位为1,而数 值位是将原码按位取反后,再在最低位加1。例 如两个带符号的二进制数分别为N1和N2,其真值 形式为:
八进制 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
结束 放映
13
§3 带符号数的代码表示
❖ 1.3.1 真值与机器数
❖ 通常我们都用符号“+”表示正,用符号“-”表示负。 “+”和“-”无非是表示两种对立的状态标志。如同计 算机中可采用的“0”和“1”一样。因此,在计算机中 表示正负号的最简单方法是约定用0表示“+”, 用1表 示“-”。
b4
2∣6 …………余0
b5
2∣3 …………余1
b6
2∣1 …………余1
b7
0
2020/2/7 ∴(217)10 =(11011001)2
结束 放映
7
小数部分的转换:乘基取整法。
例:求(0.3125)10 =(
)2
解:
∵0.3125 × 2 = 0.625 …………整数为0 b- 1
0.625 × 2 = 1.25 …………整数为1 b- 2 0.25 × 2 = 0. 5 …………整数为0 b- 3 0. 5 × 2 = 1.0 …………整数为1 b- 4
1
§4 码制和字符的代码表示
❖ 1. 码制
❖ 不同的数码不仅可以表示数量的不同大小,而且 还能用来表示不同的事物。在后一种情况下,这 些数码已没有表示数量大小的含意,只是表示不 同事物的代号而已,这些数码称为代码。比如在 举行长跑比赛时,为便于识别运动员,通常给每 个运动员编一个号码。显然,这些号码仅仅表示 不同的运动员,已失去了数量大小的含意。为便 于记忆和处理, 在编制代码时总要遵循一定的 规则,这些规则被称为码制。
❖ 数字符号:0~9、A、B、C、D、E、F ❖ 计数规则:逢十六进一 ❖ 基数:16 ❖ 权:16的幂
例: (5D)16=(5×161+13×160)10
=(80+13)10 =(93)10
2020/2/7
结束 放映
5
结束
§ 2. 不同数制间的转换
放映
1、其它进制数转换成十进制数
方法:将已知数按位权先展开,再求和即为所求 的十进制数。
(101011100101)2 =(101,011,100,101)2 =(5345)8
2020/2/7
10
(2)二进制与十六进制之间的转换 四位二进制数对应一位十六进制数。
例如: (9A7E)16 =(1001 1010 0111 1110)2
=(1001101001111110)2
(10111010110)2 =(0101 1101 0110)2
❖ N1=+100110 N2= - 010101 则N1和N2的补码
❖ [N1]补= 0100110 [N2]补= 1101011
补码的一般表示式 :
❖
N
0≤N<2n-1
❖ [N]补=
❖
2n+N
-2n-1≤N<0
❖ 同样, 对于定点小数,补码的一般表示式可 写成:
❖
N
0≤N<1
❖ [N]补=
❖
2+N
0/1 1
0
1
1
符号
数值
1. 原码
❖ 原码又称为“符号—数值表示”。在以原码形 式表示的正数和负数中,第1位表示符号位, 对于正数,符号位记作0;对于负数,符号位 记作1;其余各位表示数值部分。
❖ 例如N1和N2的真值形式为
❖ N1=+100110
N2=-010101
❖ 则N1和N2的原码表示形式为
示例说明
❖ 例1.3.1 已知N1=-0.00111, N2=+0.10111, 求 [N1+N2]原和[N1-N2]原
❖ 解:(1)[N1+N2]原=[(-0.00111)+0.10111]原 N1和N2的符号不同,并且N2的绝对值大于
N1的绝对值,因此,要进行N2减N1的运算,其结 果为正。即 ❖ 0.10111 - 0.00111= 0.10000 ❖ 运算结果的原码为:[N1+N2]原=0.10000 ❖ 它的真值为N1+N2=0.10000
2. 字符代码
❖ 计算机处理的数据不仅有数字,还有字母、标点 符号、运算符号以及其它特殊符号,这些数字、 字母和专用符号统称字符。字符都必须用二进制 代码来表示。通常,把用于表示各种字符的二进 制代码称为字符代码。
❖ 附录B:美国标准信息交换码,是七位ASCII码编 码表(P377)
❖ 我国通用代码表(GB1988-80)