内容较为通俗,☺
十进制 ---- 逢十进一 (共有10个数,0,1,2,3,4,5,6,7,8,9)
数据递增方式
0 1 2 3 4 5 6 7 8 9 下面要逢10了,则进一
10 11 12 13 14 15 16 17 18 19 又要逢10了,进一
20 。。。 29
。。。
90 。。。99 又要进一,连续两次
个位数进一变位 90,进上的1加上十位的9又要进一故为 100
二进制 满二进一(共有0,1两个数)
数据递增方式
0 1 下面要满2了,进一
10 11 下面要满2了,进一,由于倒数第二位也是1,加上进上了来的1,也满2了,又要进1
100 101 110 111 ------》 连续三个满二进一 因此为 1000
十进制数据的0-8对应二进制的数据对照
十进制 --- 二进制
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
。。。
所谓的8241方法,针对二进制转为十进制的时候有用。
0000 1111
0000 8421
比如: 100就是十进制的4 1111就是 十进制的 8+4+2+1=15也相当于 (2的三次方+2的平方+2的一次方+2的零次方)
11110 10进制数据为 2的四次幂+2的三次幂+2的平方+2的一次方 (末尾为0,不用累积),这个数据十进制为 16+8+4+2=30
八进制 满八进一(共有八个数据 0,1,2,3,4,5,6,7)
数据递增
0,1,2,3,4,5,6,7 满八需要进一
20 。。。 27
。。。
70 。。。 79
100 。。。107 110 。。。 117 200 。。。
十进制的19用八进制如何表示呢
由于数据比较小,我们可以使用最简单的方法,数数
十进制 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
八进制 : 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
可以看到19(10) = 23(8)
当然取余更简单
19/8 = 2 ... 3
2/8 = 0 ... 2
从小网上读取余数即为 23
十六进制 满16进一(共有16个数据,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)
数据递增
0 1 2 3 4 5 6 7 8 9 a b c d e f
10 11 12 13 ... 1f
20 ... 2f
...
f0 ... ff
100 ...
十进制数据:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
十六进制数据: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13
十进制向各个进制的转换只需要除以各个进制的数据,进行取余操作,然后从下到上连接起来即可
取余操作直到商为0即可停止
比如十进制的19
转化为二进制
19/2 = 9 ... 1
9/2 = 4 ... 1
4/2 = 2 ... 0
2/2 = 1 ... 0
1/2 = 0 ... 1
从下到上取值连在一块为 10011 因此 19(10)= 10011(2)
转化为八进制
19/8 = 2 ... 3
2/8 = 0 ... 2
因此 19(10)= 23(8)
转化为十六进制
19/16 = 1 ...3
1/16 = 0 ...1
因此 19(10) = 13(16)
二进制转化为十进制
小数据可以直接使用8421方法直接累积
针对2的多少次幂进行累加
比如:
随便写一个数据 1100 1111
这个数据转化成十进制就是
从末尾累积,如果1存在就是底数为2的对应的多少次幂存在
2的0次幂+2的一次幂+2的平方+2的三次方+2的四次幂+2的七次幂+2的八次幂
结果为:1+2+4+8+64+128 = 207
所以 11001111(2)= 207(10)
二进制转化为八进制
比如还是 1 1100 1111
这里直接转成8进制不好转化,可以先行转化为10进制然后在转化为8进制
十进制数据为207转化为八进制,可以进行取余操作
207/8 = 25 ... 7
25/8 = 3 ... 1
3/8 = 0 ... 3
因此数据为 317
即 11001111(2)= 317(8)
二进制转化为十六进制
同样可以先行转化为十进制再次转化为十六进制
数据还是使用 1 1100 1111 一般为四位不足补0,因此大多数时候写成 0001 1100 1111
进行取余操作
207/16 = 12 ... 15
12/16 = 0 ... 12
十进制的15对应十六进制的F
十进制的12对应十六进制的C
因此 11001111(2)= CF(16)
最简单的方法是 1100 1111 这两个数字对应十进制的12 和 15,因此为 C和F
八进制转化为二进制
比如 上面的317
如何转化呢?
思路1:先行转化为十进制再次转化为二进制
317,末尾上没有满八,末二位上有个1,说明末尾有过一次满八进一,末三位上有个3说明,末二位上有过三次满八进一,
因此 转化为10进制,该数据为:
7+1*8+3*8*8=207
十进制转化为二进制也是看余数,从下往上看
207/2 = 103 ... 1
103/2 = 51 ... 1
51/2 = 25 ... 1
25/2 = 12 ... 1
12/2 = 6 ... 0
6/2 = 3 ... 0
3/2 = 1 ... 1
1/2 = 0 ... 1
因此十进制的207转化为二进制的数据为 1100 1111
所以 317(8)= 207(10)= 1100 1111(2)
八进制转化为十六进制
思路1:先行转化为10进制再次转化为16进制
同上可以知道八进制的317转化为10进制为207
那么10进制如何转化为16进制呢,可以看上面所需,也是直接取余操作
可以知道为转化为16进制为CF
十六进制转化为十进制
比如CF
如何做呢?
分析: CF 末尾为F,最后一个对应十进制的15, 末二位为C对应十进制的12说明共有12次满十六进位
因此 转化为十进制数据为 12*16+15=207