进位制之间的转换
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
什么是权?
权:把一种记数系统中相应于每一位数字的基数的幂次成为该位数字 的权 如:十进制数按从低位到高位的次序,各位的权分别是: 100,101,102,103,根据权的定义可知,一个数的每位数字乘以其权所 得的乘积之和即为该数的真实值。
8
常用数制对照表:
9
十进制数制系统(Decimal notation,用D表示) 数码:0、1、2、3、4、5、6、7、8、9 基数:10 运算规则:逢十进一 位权:10i
方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体 讲解 (1) 二进制转换为十六进制 方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这 四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的 位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高 (最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最 低位)添0,凑足四位。
26
例:(11010111.0100111)2 = (327.234)8
27
2) 将八进制转换为二进制
方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八 进制数,小数点位置照旧。 接着,将每位上转换成二进制数按顺序排列 最后,就得到了八进制转换成二进制的数字。
28
16
17
试一试
例: (0.65)10 =( ? )2 要求精度为小数五位。
由此得:(0.65)10=(0.10100)2 综合得:(81.65)10=(1010001.10100)2
18
19
20
例:(81)10=(?)2
得:(81)10 =()2
21
上面介绍的方法是十进制转换为二进制的方法,需要大家注意 的是:
33
将十六进制转换为二进制
方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去 凑这位十六进制数,小数点位置照旧。
34
四、八进制与十六进制的转换
方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制 转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制 的转换和二进制与十六进制的转
2.二进制数运算简便
• 二进制数的运算法则比其他进制简单
• 例如:加法 0+0=0 0+1=1+0=1 1+1=10
•
乘法 0*0=0 0*1=1*0=0 1*1=1
3.易于实现逻辑运算
• 采用二进制可以进行逻辑运算,使逻辑代数和逻辑电路成为计算机电路设计的数学基础。
5
进位计数制的三个基本要素
• 一组用来表示某种数制的符号。
1) 十进制转换为二进制,需要分成整数和小数两个部分分别转换 2) 当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法 3) 注意他们的读数方向
22
(3) 二进制转换为十进制 不分整数和小数部分
方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例 将二进制数101.101转换为十进制数。 得出结果:(101.101)2=(5.625)10
大家在做二进制转换成十进制需要注意的是
1) 要知道二进制每位的权值 2) 要能求出每位的值
23
24
二、 二进制与八进制之间的转换
首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这 关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。 接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。现在我们来练习二进制与八 进制之间的转换。
48
二进制数与十六进制数之间的转换 由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十 六进制数与二进制数的转换是十分简单的.
49
50
进位制间的转换
1
主要内容
1什么是进位计数制? 2几种常用进位计数制及其转换。
2
在我们生活中有哪些进位制数?
时间: 1min=60s(六十进制) 1天=24小时(二十四进制)
货币: 1元=10角(十进制) 长度: 1米=10分米(十进制) 日常: 1打火柴=12包火柴(十二进制)
1双鞋=2只鞋(二进制)
46
例如:把(1001.01)2转换为十进制数。 解:(1001.01)2 =1×23+0×22+0×21+1×20+0×2-1+1×2-2 =8+0+0+1+0.5+0.25 =9.75
47
.十进制数转换为二进制数,十六进制数(除2/16取余法) 整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商 为0,逆序排列余数即可得到――简称除二取余法.
38
例:将十进制数796.703125转换为八进制数
解:先将这个数字分为整数部分796和小数部分0.703125 整数部分
小数部分
因此,得到结果十进制796.703125转换八进制为1434.55 上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果 是否一样
39
37
十进制转换为八进制
整数 除8取余法 部分
即每次将整数部分除以8, 余数为该位权上的数,而商 继续除以8,余数又为上一 个位权上的数,这个步骤一 直持续下去,直到商为0为 止,最后读数时候,从最后 一个余数起,一直到最前面 的一个余数。
小数 乘8取整法
部分
即将小数部分乘以8,然后取 整数部分,剩下的小数部分继续 乘以8,然后取整数部分,剩下的 小数部分又乘以8,一直取到小数 部分为零为止。如果永远不能为 零,就同十进制数的四舍五入一 样,暂取个名字叫3舍4入。
35
五、八进制与十进制的转换
(1)八进制转换为十进制 方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。 例:①将八进制数67.35转换为十进制
36
(2)十进制转换为八进制
十进制转换成八进制有两种方法: 1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制 2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换 为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:
3
到底什么是进位计数制??
进位计数制:把数码按照先后顺序排列成 数位,由低到高位计数,且满进位。是 人们利用符号进行计数的科学方法。
在计算机中常用的数制有:十进制,二进制和十六进制。
4
思考一下为什么计算机内部采用二进制?
1.易于用器件实现
• 二进制只有0和1两个状态,电子元件就可以用对立的两个状态来表示,可用自然界存在的两 种对立的物理状态表示。
44
二进制与八进制间的转换 从小数点开始,将二进制数的整数和小数部分每三位分为一组,不足三位的分别在整数的最高位 前和小数的最低位后加“0”补足,然后每组用等值的八进制码替代,即得目的数。
45
二进制与十六进制间的转换 从小数点开始,将二进制数的整数和小数部分每四位分为一组,不足四位的分别在整数的最高位 前和小数的最低位后加“0”补足,然后每组用等值的十六进制码替代,即得目的数。
41
“十进制转k进制”的算法步骤:
• 给定十进制正整 数a,确定转化后 的进位k;
第1步
第2步
• 求出a除以k所得 的余数、商,并 分别赋值给r、a;
• 若a≠0,则重复 第2步, 直到a=0;
第3步
第4步
• 将依次得到的余 数从右往左排列 起来,则得到k进 位数.
42
5.“十进制转k进制”的程序框图:
整数部分
• 除2取余法
• 即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余 数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止, 最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
小数部分
• 乘2取整法
• 即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2, 然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零 为止。
开始 输入n,k
b=“ ”
mod(a,k)->r:int(a/k)->a b=string(r)&b N a=0 Y 输出b 结束
43
小数部分的转换
乘基取整法:小数乘以目标数制的基数,第一次相乘结果的整数部分为目的数的最高位,将其小数部 分再乘基数依次记下整数部分,反复进行下去,直到小数部分为“0”,或满足要求的精度为止。
25
(1) 二进制转换为八进制
方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位, 接着将这三位二进制按权相加,得到的数就是一位八位二进制数, 然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。 如果向左(向右)取三位后,取到最高(最低)位时候, 如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足 三位。
数码 • 如:二进制中的0,1
• 数值所用的数码的个数。
基数 • 如:基数为10,有0,1,2,3,4,5,6,7,8,9十个不同的数码,逢十进一
• 数码在不同位置上的权值。R进制数中,整数部分第i位的位权为Ri-1,小数部分第j位
位权
的位权为R-j
6
什么是基数?
基数指一种进制中组成的基本数字,也就是不能再拆分的数字。例如十进制是0-9,二进制是0和 1,八进制是0-7,十六进制是0-9,A-F(大小写均可)。或者可以简单的这样记忆,假设是n进制 的话,基数就是[0,n-1]的数字,基数的个数和进制值相同,十进制有十个基数,依次类推。 在数学上表示一个数字是几进制,通常使用如下格式:[数值]进制数,例如[10]2 表示二进制数值 10。
以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是
1) 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换 2) 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高 位和小数的最低位)才能添0或者去0,否则将产生错误
29
例:
30
三、 二进制与十六进制的转换
13
十六进制数制系统(Hexadecimal,用H表示)
数码:0、1、2、3、4、5、6、7、8、9、A、 B、 C、D、 E、 F 十进制:0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15
基数: 16 运算规则:逢十六进一 位权:16i
14
15
一、 十进制与二进制之间的转换来自六、十六进制与十进制的转换
十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进 制之间的转换。 通过上面对各种进制之间的转换,我们可以将前面的转换图重新完善一下:
40
除K取余法
整数部分的转换 除基取余法:用目标数制的基数去除十进制数,第一次相除所得余数为目的数的最低位 K0,将所 得商再除以基数,反复执行上述过程,直到商为“0”,所得余数为目的数的最高位。
10
二进制数制系统(Binary notation,用B表示)
数码:0和1 基数:2 运算规则:逢二进一:(1+1)2=(10)2 位权:2i
11
为什么又提出八进制十六进制??
用于缩短二进制 的数字长度
12
八进制数制系统(Octal notation,用O表示)
数码:0、1、2、3、4、5、6、7 基数:8 运算规则:逢八进一,即(7+1)O=(10)B 位权:8i
31
例: (111011.10101)2=(3B.A8)16
32
(1)十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简 称位分四位.
例:将(4AF8B)16转换为二进制数. 解: 4 A F 8 B
0100 1010 1111 1000 1011 所以(4AF8B)16=(10001011)2
什么是权?
权:把一种记数系统中相应于每一位数字的基数的幂次成为该位数字 的权 如:十进制数按从低位到高位的次序,各位的权分别是: 100,101,102,103,根据权的定义可知,一个数的每位数字乘以其权所 得的乘积之和即为该数的真实值。
8
常用数制对照表:
9
十进制数制系统(Decimal notation,用D表示) 数码:0、1、2、3、4、5、6、7、8、9 基数:10 运算规则:逢十进一 位权:10i
方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体 讲解 (1) 二进制转换为十六进制 方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这 四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的 位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高 (最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最 低位)添0,凑足四位。
26
例:(11010111.0100111)2 = (327.234)8
27
2) 将八进制转换为二进制
方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八 进制数,小数点位置照旧。 接着,将每位上转换成二进制数按顺序排列 最后,就得到了八进制转换成二进制的数字。
28
16
17
试一试
例: (0.65)10 =( ? )2 要求精度为小数五位。
由此得:(0.65)10=(0.10100)2 综合得:(81.65)10=(1010001.10100)2
18
19
20
例:(81)10=(?)2
得:(81)10 =()2
21
上面介绍的方法是十进制转换为二进制的方法,需要大家注意 的是:
33
将十六进制转换为二进制
方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去 凑这位十六进制数,小数点位置照旧。
34
四、八进制与十六进制的转换
方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制 转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制 的转换和二进制与十六进制的转
2.二进制数运算简便
• 二进制数的运算法则比其他进制简单
• 例如:加法 0+0=0 0+1=1+0=1 1+1=10
•
乘法 0*0=0 0*1=1*0=0 1*1=1
3.易于实现逻辑运算
• 采用二进制可以进行逻辑运算,使逻辑代数和逻辑电路成为计算机电路设计的数学基础。
5
进位计数制的三个基本要素
• 一组用来表示某种数制的符号。
1) 十进制转换为二进制,需要分成整数和小数两个部分分别转换 2) 当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法 3) 注意他们的读数方向
22
(3) 二进制转换为十进制 不分整数和小数部分
方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例 将二进制数101.101转换为十进制数。 得出结果:(101.101)2=(5.625)10
大家在做二进制转换成十进制需要注意的是
1) 要知道二进制每位的权值 2) 要能求出每位的值
23
24
二、 二进制与八进制之间的转换
首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这 关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。 接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。现在我们来练习二进制与八 进制之间的转换。
48
二进制数与十六进制数之间的转换 由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十 六进制数与二进制数的转换是十分简单的.
49
50
进位制间的转换
1
主要内容
1什么是进位计数制? 2几种常用进位计数制及其转换。
2
在我们生活中有哪些进位制数?
时间: 1min=60s(六十进制) 1天=24小时(二十四进制)
货币: 1元=10角(十进制) 长度: 1米=10分米(十进制) 日常: 1打火柴=12包火柴(十二进制)
1双鞋=2只鞋(二进制)
46
例如:把(1001.01)2转换为十进制数。 解:(1001.01)2 =1×23+0×22+0×21+1×20+0×2-1+1×2-2 =8+0+0+1+0.5+0.25 =9.75
47
.十进制数转换为二进制数,十六进制数(除2/16取余法) 整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商 为0,逆序排列余数即可得到――简称除二取余法.
38
例:将十进制数796.703125转换为八进制数
解:先将这个数字分为整数部分796和小数部分0.703125 整数部分
小数部分
因此,得到结果十进制796.703125转换八进制为1434.55 上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果 是否一样
39
37
十进制转换为八进制
整数 除8取余法 部分
即每次将整数部分除以8, 余数为该位权上的数,而商 继续除以8,余数又为上一 个位权上的数,这个步骤一 直持续下去,直到商为0为 止,最后读数时候,从最后 一个余数起,一直到最前面 的一个余数。
小数 乘8取整法
部分
即将小数部分乘以8,然后取 整数部分,剩下的小数部分继续 乘以8,然后取整数部分,剩下的 小数部分又乘以8,一直取到小数 部分为零为止。如果永远不能为 零,就同十进制数的四舍五入一 样,暂取个名字叫3舍4入。
35
五、八进制与十进制的转换
(1)八进制转换为十进制 方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。 例:①将八进制数67.35转换为十进制
36
(2)十进制转换为八进制
十进制转换成八进制有两种方法: 1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制 2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换 为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:
3
到底什么是进位计数制??
进位计数制:把数码按照先后顺序排列成 数位,由低到高位计数,且满进位。是 人们利用符号进行计数的科学方法。
在计算机中常用的数制有:十进制,二进制和十六进制。
4
思考一下为什么计算机内部采用二进制?
1.易于用器件实现
• 二进制只有0和1两个状态,电子元件就可以用对立的两个状态来表示,可用自然界存在的两 种对立的物理状态表示。
44
二进制与八进制间的转换 从小数点开始,将二进制数的整数和小数部分每三位分为一组,不足三位的分别在整数的最高位 前和小数的最低位后加“0”补足,然后每组用等值的八进制码替代,即得目的数。
45
二进制与十六进制间的转换 从小数点开始,将二进制数的整数和小数部分每四位分为一组,不足四位的分别在整数的最高位 前和小数的最低位后加“0”补足,然后每组用等值的十六进制码替代,即得目的数。
41
“十进制转k进制”的算法步骤:
• 给定十进制正整 数a,确定转化后 的进位k;
第1步
第2步
• 求出a除以k所得 的余数、商,并 分别赋值给r、a;
• 若a≠0,则重复 第2步, 直到a=0;
第3步
第4步
• 将依次得到的余 数从右往左排列 起来,则得到k进 位数.
42
5.“十进制转k进制”的程序框图:
整数部分
• 除2取余法
• 即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余 数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止, 最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
小数部分
• 乘2取整法
• 即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2, 然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零 为止。
开始 输入n,k
b=“ ”
mod(a,k)->r:int(a/k)->a b=string(r)&b N a=0 Y 输出b 结束
43
小数部分的转换
乘基取整法:小数乘以目标数制的基数,第一次相乘结果的整数部分为目的数的最高位,将其小数部 分再乘基数依次记下整数部分,反复进行下去,直到小数部分为“0”,或满足要求的精度为止。
25
(1) 二进制转换为八进制
方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位, 接着将这三位二进制按权相加,得到的数就是一位八位二进制数, 然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。 如果向左(向右)取三位后,取到最高(最低)位时候, 如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足 三位。
数码 • 如:二进制中的0,1
• 数值所用的数码的个数。
基数 • 如:基数为10,有0,1,2,3,4,5,6,7,8,9十个不同的数码,逢十进一
• 数码在不同位置上的权值。R进制数中,整数部分第i位的位权为Ri-1,小数部分第j位
位权
的位权为R-j
6
什么是基数?
基数指一种进制中组成的基本数字,也就是不能再拆分的数字。例如十进制是0-9,二进制是0和 1,八进制是0-7,十六进制是0-9,A-F(大小写均可)。或者可以简单的这样记忆,假设是n进制 的话,基数就是[0,n-1]的数字,基数的个数和进制值相同,十进制有十个基数,依次类推。 在数学上表示一个数字是几进制,通常使用如下格式:[数值]进制数,例如[10]2 表示二进制数值 10。
以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是
1) 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换 2) 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高 位和小数的最低位)才能添0或者去0,否则将产生错误
29
例:
30
三、 二进制与十六进制的转换
13
十六进制数制系统(Hexadecimal,用H表示)
数码:0、1、2、3、4、5、6、7、8、9、A、 B、 C、D、 E、 F 十进制:0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15
基数: 16 运算规则:逢十六进一 位权:16i
14
15
一、 十进制与二进制之间的转换来自六、十六进制与十进制的转换
十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进 制之间的转换。 通过上面对各种进制之间的转换,我们可以将前面的转换图重新完善一下:
40
除K取余法
整数部分的转换 除基取余法:用目标数制的基数去除十进制数,第一次相除所得余数为目的数的最低位 K0,将所 得商再除以基数,反复执行上述过程,直到商为“0”,所得余数为目的数的最高位。
10
二进制数制系统(Binary notation,用B表示)
数码:0和1 基数:2 运算规则:逢二进一:(1+1)2=(10)2 位权:2i
11
为什么又提出八进制十六进制??
用于缩短二进制 的数字长度
12
八进制数制系统(Octal notation,用O表示)
数码:0、1、2、3、4、5、6、7 基数:8 运算规则:逢八进一,即(7+1)O=(10)B 位权:8i
31
例: (111011.10101)2=(3B.A8)16
32
(1)十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简 称位分四位.
例:将(4AF8B)16转换为二进制数. 解: 4 A F 8 B
0100 1010 1111 1000 1011 所以(4AF8B)16=(10001011)2