【前言】之前学到计算机基础知识里面的进制转换,看网上的大多数教程不是不全就是解释的不是很清楚,因而出现了本文,本文不是为了解释进制转换的具体原理,而是为了提供一种进制转换的方法,如果有其它更好的方法,可以在评论区讲出来。本文涵盖了大部分进制转换的方法,均以示例的方式进行讲解。

【温馨提示】本文使用的符号“^” 表示次方,并非按位异或位运算符。

例:2^2表示2的平方

一.进制及其表示

进制:进制是一种计数的方式,数值的表示形式。

常见的进制:十进制、二进制、八进制、十六进制。

进制的书写规律

I.二进制:0、1(逢2进1)

例:0 1 2(10) 11 12(20(100)) 101 102(110)

II.八进制:0、1、2、3、4、5、6、7(逢8进1)

例:0 1 2 3 4 5 6 7 8(10) 11 12 13 14

III.十进制:0、1、2、3、4、5、6、7、8、9(逢10进1)

例:略

IV.十六进制:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(逢16进1)

例:0 1 2 3 4 5 6 7 8 9 A B C D E F 16(10 (A))

进制的书写格式

I.二进制:以0b或0B开头

例:0b1011、0B1011

II.八进制:以0开头

例:07、010

III.十进制:默认十进制

例:略

IV.十六进制:以0x或0X开头

例:0x9、0XA

二.进制的转换

I.整数的进制转换

1.十进制转二进制、八进制、十六进制

十进制转二进制(连除法)

例:18

从下往上依次读数,为10010

十进制转八进制(连除法)

例:18

从下往上依次读数,为22

十进制转十六进制(连除法)

例:18

从下往上依次读数,为12

2.二进制转八进制、十进制、十六进制

二进制转八进制

由于2^3=8,所以每3位二进制数字可以转为1位八进制数字,不够前面补0,从右往左计数

例:10111001

从左往右依次排序,为:271

二进制转十进制

例:10111001

从右往左依次排序相加,为:185

二进制转十六进制

由于2^4=16,所以4位二进制数字可以转为1位十六进制数字,不够前面补0,从右往左计数

例:10111001

从左往右依次排序,为:B(11)9,即B9

3.八进制、十六进制转十进制

八进制转十进制

例:277

从右往左依次排序相加,为191

十六进制转十进制

例:2AE

从右往左依次排序相加,为686

4.八进制、十六进制转二进制

八进制转二进制

例:226

由于2^3=8,所以八进制的1位是二进制的3位

最后先从下往上依次读数,再从左向右依次排序,为:10010110

十六进制转二进制

例:2AE

由于2^4=16,所以八进制的1位是二进制的4位

最后先从下往上依次读数,再从左往右依次排序,为:1010101110

II.小数的进制转换

1.十进制转二进制、八进制、十六进制

十进制转二进制(精确到小数点后五位,即乘五次2)

例:0.68 0.68*2=1.36(取1)

0.36*2=0.72(取0)

0.72*2=1.44(取1)

0.44*2=0.88(取0)

0.88*2=1.76(取1)

最终的结果从上到下依次排序,为:10101

十进制转八进制(精确到小数点后三位,即乘三次8)

例:10.68 注:整数位按整数位的转法转换,小数位按小数位的转法转换

10的八进制为12

0.68*8=5.44(取5)

0.44*8=3.52(取3)

0.52*8=4.10(取4)

最终的结果从上到下依次排序,为:12.534

十进制转十六进制

例:25.68 注:整数位按整数位的转换法转换,小数位按小数位的转法转换

25的十六进制为19

0.68*16=10.88(取10,即A)

0.88*16=14.08(取14,即E)

0.08*16=1.28(取1)

最终的结果从上到下依次排序,为:19.AE1

2.二进制转八进制、十进制、十六进制

二进制转八进制

例:0.1111

由于2^3=8,所以每3位二进制数字可以转为1位八进制数字,不够后面补0,从左往右计数

最后排序相加,为:0.74

二进制转十进制

小数点后从指数-1算起,依次排序

例:0.1111

最后从左到右依次排序相加,为0.9375

二进制转十六进制

例:0.1111

由于2^4=16,所以每4位二进制数字可以转为1位八进制数字,不够后面补0,从左往右计数

最后从左到右依次排序相加,为:0.F(十六进制中15为F/f)

3.八进制、十六进制转十进制

八进制转十进制

小数点后从指数-1算起,依次排序

例:0.45

最后从左到右依次排序相加,为:0.578125

十六进制转十进制

小数点后从指数-1算起,依次排序

例:0.3B8

最后从左到右依次排序相加,为:0.23421875

4.八进制、十六进制转二进制

八进制转二进制

例:0.76

由于2^3=8,所以八进制的1位是二进制的3位

最后从左到右,依次排序,为:0.111110

十六进制转二进制

例:0.2AF

最后从左往右依次排序,为0.001010101111

最后,文章写得比较着急,可能会有错误,还请批评指正。

【声明】如需转载,请注明出处,谢谢配合!