进制的相互转化

本文最后更新于 2024年10月22日 下午

目录(默认关闭,点击展开):

展开目录找的更快

点击展开目录

二进制

1、二进制转八进制:

1.1、取三合一查表法:

原理:对应表

二进制: 000 001 010 011 100 101 110 111
八进制: 0 1 2 3 4 5 6 7

举例:

二进制:1100011011010010.011

经过分组补零查表可得:

001 100 011 011 010 010 . 011

1 4 3 3 2 2 . 3

故得转化为八进制为:143322.3

2、二进制转十进制:

2.1、按权相加法:

原理:

举例:

二进制:1100 0110 1101 0010.011

整数部分:\(1(2^{15})+1(2^{14})+1(2^{10})+1(2^{9})+1(2^{7})+1(2^6)+1(2^4)+1(2^1)=50898\)

小数部分:\(1(2^{-2})+1(2^{-3})=0.375\)

故得转化为十进制为:50898.375

3、二进制转十六进制:

3.1、取四合一查表法:
二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f

举例:

二进制:1100011011010010.011

经过分组补零查表可得:

1100 0110 1101 0010. 0110

c 6 d 2 . 6

故得转化为十六进制为:c6d2.6


八进制

4、八进制转二进制:

4.1、一分为三查表法:

原理:对应表的逆运用

二进制: 000 001 010 011 100 101 110 111
八进制: 0 1 2 3 4 5 6 7

举例:

八进制:143322.3

经过分组补零查表可得:

1 4 3 3 2 2 . 3

001 100 011 011 010 010 . 011

故得转化为二进制为:1100011011010010.011

5、八进制转十进制:

5.1、按权相加法:

原理:

举例:

八进制:143322.3

整数部分:\(1(8^5)+4(8^4)+3(8^3)+3(8^2)+2(8^1)+2(8^0)=50898\)

小数部分:\(3(8^{-1})=0.375\)

故得转化为十进制为:50898.375

6、八进制转十六进制:

6.1、直接法:

目前我没有找到直接转化的方法,只有间接的将八进制转为二进制(或十进制)再转化为十六进制。

6.2、间接法:

举例:

八进制:143322.3

先转化为二进制:(如4.1

再讲二进制转化为十六进制:(如3.1)


十进制

7、十进制转二进制:

7.1、除二取余法:

全称:(整数部分除二取余,逆序排列;小数部分乘二取整,正序排列法)

原理:

举例:

十进制:38.5

整数部分:100110(步骤如下图)

小数部分:1(步骤如下图)

故得二进制数为:100110.1

7.2、对照比较法:

这种方法我姑且叫它投机取巧法:

因为它有点类似于编程语言的布尔值属性,二进制只有0和1,类似于真和假(true and false),世间万物,像这样对立的属性可太多了。并且当十进制有小数怎么比较。

通过比较下表(也就是2的n次方)

256 128 64 32 16 8 4 2 1

举例:十进制数:100

256 128 64 32 16 8 4 2 1
100 100 100 36 4 4 4 0 0
0 0 1 1 0 0 1 0 0

故得二进制数为:1100100

8、十进制转八进制:

8.1、除八取余法:

全称:(整数部分除八取余,逆序排列;小数部分乘八取整,正序排列法)

原理:

举例:

十进制:50898.375

整数部分:143322

小数部分:3

故得八进制数为:143322.3

9、十进制转十六进制:

9.1、除十六取余法:

全称:(整数部分除十六取余,逆序排列;小数部分乘十六取整,正序排列法)

原理:

举例:

十进制:50898.375

整数部分:\(c6d2\)

小数部分:6

故得十六进制数为:\(c6d2.6\)


十六进制

10、十六进制转二进制:

10.1、一分为四查表法:

原理:

二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f

举例:

十六进制:\(c6d2.6\)

经过查表可得:

c 6 d 2 . 6

1100 0110 1101 0010 . 0110

故得二进制数为:1100011011010010.011

11、十六进制转八进制:

11.1、直接法:

目前我没有找到直接转化的方法,只有间接的将十六进制转为二进制(或十进制)再转化为八进制。

11.2、间接法:

举例:

十六进制:\(c6d2.6\)

先转化为十进制:(如下面的12.1

再将十进制转化为八进制:(如上面的8.1

12、十六进制转十进制:

12.1、按权相加法

举例:

十六进制:\(c6d2.6\)

整数部分:\(c(16^3)+6(16^2)+d(16^1)+2(16^0)=50898\)

小数部分:\(6(16^{-1})=0.375\)

故得转化为十进制为:50898.375


总结:

进制的转化方法不唯一,我列出了一个表格,供需要时查询:


进制的相互转化
https://machomeng.pages.dev/18/
作者
Macho Meng
发布于
2024年10月20日
更新于
2024年10月22日
许可协议