了解进制之间是如何进行转换的

二进制

二进制是逢二进一

第一行和第二行相加

1 0 1 1
1 1 1 1
1 1 0 1 0

二进制转为十进制

我们把右边当作低位,左边是高位.

举个例子:

3 2 1 0 位数
1 0 1 0 二进制数
2^3^ 0 2^1^ 0 = 10

点拨:

可以看到3210是固定组,往左越来越大,我们从右往左看,二进制数只有0和1,当数字为0时代表没有则为0,如果数字是1,我们就要考虑当前位置对于的位数是多少,例如: 从右往左的第二个数字就是1,而当前位数是1,所以就是2的1次方.最后把所有转换的数字加起来即可.

总结: 位数 = n,遇到1考虑n,2的n次方

上面的例子有个特点就是8,4,2,1这是所有二进制数转十进制通用的

1110 = 14 (8+4+2+0)

1010 = 10 (8+0+2+0)

0001 = 1 (0+0+0+1)


八进制

八进制就是逢8进1

第一行和第二行相加

7 0 1 1
1 2 1 5
1 0 2 2 6

八进制转十进制

3 2 1 0 位数
1 0 0 1 八进制数
8^3^ 0 0 8^0^ = 513

上面是个简单的例子,下面进阶一下

3 2 1 0 位数
3 0 0 5 八进制数
3*8^3^ 0 0 5*8^0^ = 1541

总结: 原数 * 8的n次方(位数=n)


十六进制

十六进制就是逢十六进一

f 9 9 1
1 2 9 c
1 0 c 2 d

因为我们要把数字转为十六进制,所以大于等于10的数字我们用字母代替

A为10,B为11以此类推

十六进制转十进制

3 2 1 0 位数
1 0 0 1 十六进制数
16^3^ 0 0 16 = 4097
3 2 1 0 位数
0 2 4 0 十六进制数
0 2*16^2^ 4*16^1^ 0 = 576

总结: 原数 * 16的n次方(位数=n)


十进制转X进制

二进制

将要转换的数字直接除二,最后商为0为止

要转换的数字 余数
56 28 0
28 14 0
14 7 0
7 3 1
3 1 1
1 0 1

所以56的二进制是111000(从下往上排列)

八进制

要转换的数字 余数
99 12 3
12 1 4
1 0 1

所以99的八进制是143(从下往上排列)

十六进制

要转换的数字 余数
498 31 2
31 1 15
1 0 1

所以498的十六进制是1f2(从下往上排列)


二进制,八进制,十六进制之间的转换

二进制和八进制

八进制的1位对应二进制的3位

二进制>>八进制

10111101010101010010101

  • 我们把这个二进制数字进行分组,每组3位

可以分为

010 111 101 010 101 010 010 101

  • 然后按照二进制规律转换

分别对应2 7 5 2 5 2 2 5

这个数字就是八进制数

八进制>>二进制

1 2 4 5 6 7

  • 直接把每位数字对应的数进行转换,使用二进制规律8,4,2,1

分别对应,也是从右往左

001 010 100 101 110 111


二进制和十六进制

二进制>>十六进制

十六进制的1位对应二进制的4位

010111101010101010010101

  • 我们把这个二进制数字进行分组,每组4位

可以分为

0101 1110 1010 1010 1001 0101

  • 然后按照二进制规律转换

分别对应5 e a a 9 5

十六进制>>二进制

9 a 8 f 7

  • 直接把每位数字对应的数进行转换,使用二进制规律8,4,2,1

分别对应,也是从右往左

1001 1010 1000 1111 0111

扩展

八进制和十六进制

我们要把欲转换的数字转换为二进制,然后再进行转换

八进制>>十六进制

37231

  • 转为二进制

11111010011001

  • 转为十六进制,分组每组4位

0011 1110 1001 1001

对应的数为3 e 9 9

十六进制>>八进制

8fc6

  • 转为二进制

1000111111000110

  • 转为八进制,分3组每组3位

001 000 111 111 000 110

对应的数为:1 0 7 7 0 6


评论