【前言】之前学到计算机基础知识里面的进制转换,看网上的大多数教程不是不全就是解释的不是很清楚,因而出现了本文,本文不是为了解释进制转换的具体原理,而是为了提供一种进制转换的方法,如果有其它更好的方法,可以在评论区讲出来。本文涵盖了大部分进制转换的方法,均以示例的方式进行讲解。
【温馨提示】本文使用的符号“^” 表示次方,并非按位异或位运算符。
例: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
最后,文章写得比较着急,可能会有错误,还请批评指正。
【声明】如需转载,请注明出处,谢谢配合!