各进制转换的详细讲解 | 您所在的位置:网站首页 › 计算机的进制转换表是什么 › 各进制转换的详细讲解 |
一:准备工作
1.进位制
维基百科: 进位制是一种记数方式,亦称进位计数法或位值计数法。利用这种记数法,可以使用有限种数字符号来表示所有的数值。一种进位制中可以使用的数字符号的数目称为这种进位制的基数或底数。若一个进位制的基数为n,即可称之为n进位制,简称n进制。现在最常用的进位制是十进制,这种进位制通常使用10个阿拉伯数字(即0-9)进行记数。 2.进位任何进制,都有进位的说法(以位数增加即数量增加来弥补种类的不足),二进制的满2进一,十进制的满10进一等等,就比如对于二进制01后一位不是02,因为只有0和1两种符号,所以进位变成10,同样,八进制的57 后面不是58而是60。 3.拆位任意一个数N可用下式表示: N=(dn-1dn-2…d1d0.d-1d-2…d-m)r =dn-1rn-1dn-2rn-2…d1r1d0r0d-1r-1d-2r-2…d-mr-m (其中r为基数,n、m为正整数) 例1:r=10的数321 十进制的321代入公式为 d2d1d0 = d2x r2 + d1x r1 + d0x r0 即:321 = 300+20+1 = 3x100+2x10+1 = 3x102 + 2x101 + 1x100 例2:r=2(10)的数1010(此处的2为十进制) 二进制的1010代入公式为 d3d2d1d0 =d3x r3+ d2x r2 + d1x r1 + d0x r0 1010 =1x103 + 0x102 + 1x101 +0x100 =1x10(2)3 + 1x10(2)1 =1x2(10)3 + 1x2(10)1 八进制:52=5x10(8)+2 十六进制:FF=Fx10(16)+F 4.说明文章下面,二进制用10101(2),八进制用32(8),十进数用57(10) ,十六进制 用FF(16) 等下标分别代替,R进制为任意进制的意思。(建议:可查看右侧的目录) 二:进制转换方法 ①:按“权”展开法(适用范围:R进制→十进制) ②:减权定位法(适用范围:十进制→R进制) ③:按基数重复相乘(除)法(适用范围:R进制→十进制) ④:重复相除(乘)法(适用范围:十进制→R进制) ⑤:分组法(适用范围:二进制⇄八,十六进制) ⑥:间接法总结:上述方法中,①②互为逆运算,③④互为逆运算,⑤用于M进制和Mn 进制的转换(其中m,n为正整数),其他用⑥。 如果以十进制为中心的话,可分为三类: 1.十⇄R: ①②③④ 2.M⇄Mn : ⑤ 3.其他: ⑥ 如下图所示 先以0100 1110(2) → 78(10)为例 ①:01001110 (2) = 1 x 26 + 1 x 23 + 1 x 22 + 1 x 21 = 78 上面即为按“权”展开法的使用过程,具体可以拆分为三个步骤,1:拆位,2:转换, 3:运算。 第一步:拆位 01001110(2) = 1(2)x106(2) + 1(2)x103(2) + 1(2)x102(2) + 1(2)x101(2) 第二步:分别转换 二进制十进制0000 000000000 000110000 00102
1(10) x26 (10) + 1(10) x23(10) + 1(10) x22(10) + 1(10) x21(10) = 64(10) +8(10) +4(10) +2(10) =78(10) (2)八进制→ 十进制例2:62(8) → 50(10) 第一步:拆位 62(8)= 6(8)x10(8)+ 2(8) 第二步:转换 八进制十进制0011223344556677108
第三步:运算 6(10) x8(10)+ 2(10)= 48(10) +2(10) =50(10) 即,①:62(8) = 6 x 81 + 2 x 80 = 50 (3)十六进制→ 十进制例3:FF(16) → 255(10) 第一步:拆位 FF(16)=F(16)x10(16) +F(16) 第二步:转换 十六进制十进制00112233445566778899A10B11C12D13E14F151016第三步:运算 15(10)x16(10) +15(10) = 240 (10)+ 15(10) = 255(10) 即,①:FF(16) = 15 x 161 + 15 x 160 = 255 可以从上面得出,所谓的按权展开法,就是把多位数拆分,然后对照转换表一一转换,然后再组合起来,这里说一下什么是“位权”,即“权”,位权,是指数制中每一固定位置对应的单位值。(百度百科的解释),所以在进行第二步:转换的时候,对于任意进制R,表中10所对应的值,变为十进制都是R,比如:十六进制的10 (16)= 16(10) ,八进制的10 (8)= 8(10) 所以只需要记忆个位数所对应的数字或者字母(十进制以上)。 2.方法②:减权定位法如下图 例1:101001(2) = (((( 1 x 2 + 0 )x 2 + 1 )x 2 + 0 )x 2 + 0 ) x 2 + 1 = 41 这样可能不好理解,从左往右依次变为二进制数看看: 101001(2)变为(下面的10均为二进制数): 1 = 1 10 = (1 x 10 + 0 ) 101 = ((1 x 10 +0 )x 10 + 1 ) 1010 = ( ((1 x 10 + 0 )x 10 + 1 ) x 10 +0 ) 10100 = ( ( ((1 x 10 + 0 )x 10 + 1 ) x 10 +0 ) x 10 + 0 ) 101001 = ( ( ((1 x 10 + 0 )x 10 + 1 ) x 10 +0 ) x 10 + 0 ) x 10 + 1 然后再全部转为十进制数,就变成了例1的形式。 又或者可以这样理解。 就比如十进制数321有两种拆分形式 第一种:321 = 3 x100 + 2 x 10 + 1(按权拆分) 把第一种提公因式就变为第二种 第二种:321 = ( 3 x 10 + 2) x 10 + 1 即把方法①提公因式,就能得到方法③ (2)八进制→ 十进制例2:622(8)→ 402(10) 方法① :622(8) = 6 x 82 + 2 x 8 1 + 2 x 80 = 402 方法③ :622(8) = ( 6 x 8 + 2 ) x8 +2 = 402 (3)十六进制→ 十进制例3:DEF(16)→ 3567(10) 方法① :DEF(16) = 13 x 162 + 14 x 16 1 + 15 x 160 = 3567 方法③ :DEF(16) = ( 13 x 16 + 14 ) x16 +15 = 3567 注:方法③和④ 括号里面的除和乘均是针对小数,这里就不过多阐述。 4.方法④:重复相除(乘)法 (1)十进制 → 二进制例1:78(10) → 0100 1110(2) 如下图 上图可等同于 从左边到右边就是方法③,所以方法④为方法③的逆运算 (2)十进制 → 八进制
例:11010111(2) → 327(8) 进制表: 二进制八进制00000011010201131004101511061117以三位为一组(不够三位则补零) 例:11010111(2) → D7(16) 进制表: 二进制十六进制0000000011001020011301004010150 11060111710008100191010A1011B1100C1101D1110E1111F以四位为一组(不够四位则补零) 例:327(8)→ 11010111(2) 进制表: 二进制八进制00000011010201131004101511061117
例: D7(16) → 11010111(2) 进制表: 二进制十六进制0000000011001020011301004010150 11060111710008100191010A1011B1100C1101D1110E1111F即 D7(16) → 11010111(2) 6.方法⑥:间接法比如:八进制转为十六进制 可以先让八进制转为二进制或者十进制,再转十六进制。反过来,对于十六进制转八进制,也类似。 例题略 四:参考资料1.https://www.cnblogs.com/gaizai/p/4233780.html#_labelConvert31 2.计算机组成原理(唐朔飞第二版附录6A) |
CopyRight 2018-2019 实验室设备网 版权所有 |