进制转换规则

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四、进制的转换

目标:熟悉各进制之间的转换规则,计算机中级考证也会考到。

要求做到给出一个十进制,能够做到各进制之间互相转换。

在编程中,我们的变量通常用10进制表示;不过,在计算机内存中,数据是以二进制的形式存在的,所以我们作为一个程序员应该要熟悉的掌握各进制之间的转换,本章不讲补码和反码的知识,有需要了解的自行百度学习。

计算机分二进制、八进制、十进制、十六进制

二进制:采用0和1表示//规则:逢二进一如:1010

八进制:采用0~7这八个数表示//规则:逢八进一,在程序中表示八进制要在这个数的前面加个0 如:055

十进制:采用0~9这10个数表示//规则:逢九进一如:95

十六进制:用16个阿拉伯数字表示,但我们只有0~9这十个数字,所以我们用A、B、C、D、E、F这五个数字表示10、11、12、13、14、15,字母不区分大小写。//规则:逢十六进一,在程序中表示16进制要在这个数的前方加上0x 如:0x6e

10进制转2进制:

例子:将十进制‘100 ’转成二进制

最后得出的二进制是:1100100 //将得出的余数倒过来写

转换规则:将10进制数除以2,得出的商继续除以2,直到商不够2为止,取余数,倒写,就是转换后的2进制数

例子:将二进制‘100’转换成十进制

第一步 1 0 0

第二步 2 1 0//二进制对应的下标,自右向左0开始

第三步1*2^2+0*2^1+0*2^0 = 4+0+0 = 4//2的0次方为1

最后得出的十进制是:4

转换规则:将二进制自右向左加上下标,0~n(n为二进制的位数减1),然后用二进制第1位的值*2^0+二进制第2位的值*2^1+二进制第n位的值+2^(n-1),最后相加的和就是计算出的十进制//二进制的位数是自右向左数的

10进制转8进制:

例子:将十进制‘100’转成八进制

最后得出的八进制是:144 //将得出的余数倒写

转换规则:将10进制数除以8,得出的商继续除以8,直到商不够8为止,取余数,倒写,就是转换后的8进制数

8进制转10进制:

例子:将八进制‘144’转成十进制

第一步 1 4 4

第二步 2 1 0//八进制对应的下标,自右向左0开始

第三步1*8^2+4*8^1+4*8^0 = 64 + 32 +4 = 100

最后得出的十进制是:100

转换规则:将八进制自右向左加上‘下标’,0~n(n为八进制的位数减1),然后用八进制第1位的值*8^0+八进制第2位的值*8^1+八进制第n位的值+8^(n-1),最后相加的和就是计算出的十进制//八进制的位数是自右向左数的

例子:将十进制‘100’转成十六进制

最后得出的十六进制是:64 //将得出的余数倒写

转换规则:将10进制数除以16,得出的商继续除以16,直到商不够16为止,取余数,倒写,就是转换后的16进制数

16进制转10进制:

例子:将十六进制‘64’转换成十进制

第一步 6 4

第二步 1 0//十六进制对应的下标,自右向左0开始

第三步6*16^1+4*16^0 = 96 + 4 = 100

最后得出的十进制是:100

转换规则:将十六进制自右向左加上‘下标’,0~n(n为十六进制的位数减1),然后用十六进制第1位的值*16^0+十六进制第2位的值*16^1+十六进制第n位的值+16^(n-1),最后相加的和就是计算出的十进制//十六进制的位数是自右向左数的

2进制转8进制:

例子:将二进制‘10001000’转换成八进制

第一步 1 0 ,0 0 1,0 0 0

第二步 2 1 , 4 2 1, 4 2 1

第三步 2 0 ,0 0 1,0 0 0

第四步 2 , 1 ,0

最后得出的八进制是:210

转换规则:将2进制数自右至左每3位分成一段,不够3位的可以前面补零;每段分别对应口诀421(八进制是逢八进一的,在2进制中07的表示方法是111;所以口诀是这么来的1*2^2+1*2^1+1*2^0),第一位为4,第二位为2,第三位为1;然后将每段二进制为1时对应口诀的数字相加,(如果当前位对应的二进制是0,则该位为0);二进制可以分成几段,代表八进制的位数。

例子:将八进制‘371’转换成二进制

第一步 3 ,7 , 1

第二步0 2 1 , 4 2 1,0 0 1

第三步0 1 1 , 1 1 1,0 0 1

最后得出的二进制是:11111001

转换规则:将八进制的位数每位分成一段,每段分别对应3位2进制数,口诀421,将八进制不同位的数拆分成由421组成的和,分别对应421,没有对应的位补0;最后将对应非0位数的值改写成1,对应位数为0的值写成0,得出的值就是二进制数。

2进制转16进制:

例子:将二进制‘10001000’转换成十六进制

第一步 1 0 0 0, 1 0 0 0

第二步8 4 2 1,8 4 2 1

第三步8 0 0 0,8 0 0 0

第四步8 ,8

最后得出的十六进制是:88

转换规则:将2进制数自右至左每4位分成一段,不够4位的可以前面补零;每段分别对应口诀8421,第一位为8,第二位为4,第三位为2,第四位为1;然后将每段二进制为1时对应口诀的数字相加,(如果当前位对应的二进制是0,则该位为0);二进制可以分成几段,代表十六进制的位数。

16进制转2进制:

例子:将十六进制‘ef’转换成二进制

第一步 E , F

第二步8 4 2 0 ,8 4 2 1

第三步 1 1 1 0 ,1 1 1 1

最后得出的二进制是:11101111

转换规则:将十六进制的位数每位分成一段,每段分别对应4位2进制数,口诀8421,将十六进制不同位的数拆分成由8421组成的和,分别对应8421,没有对应的位补0;最后将对应非0位数的值改写成1,对应位数为0的值写成0,得出的值就是二进制数。

进制之间的转换就是这么简单,转换规则表达的有些啰嗦,如果可以看明白例题,就不用看我写的转换规则了,不明白的欢迎提问!

相关文档
最新文档