巧学二进制
巧学二进制
一 什么是进制
进制也就是进位制,是人们规定的一种进位方法。对于任何一种进制-----X进制,就表示某一位置上的数运算时是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,X进制就是逢X进位。
二 常见二进制
十进制
0、1、2、3、4、5、6、7、8、9、10、11、12------
二进制
0、1、10、11、100、101、110、111、1000、1001、1011、1111、10000、10001、10011、10111、11111------
八进制
0、1、2、3、4、5、6、7、10、11、12、13、14、15、16、17、20、21------
十六进制
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、10、11、12、13、14、15、16、17、18、19、1A、1B、1C、1D、1E、1F------
三 进制转换(正整数)
其他进制转十进制
-
二进制 10001011 转换位 十进制(看第一位后面有N个数 1*n^n)
10001011 = 1 * 2^7 + 1 * 2^3 + 1 * 2^2 + 1 * 2^0= 139
-
十进制 102 转换为 十进制
102 = 1 * 10^2 + 0 * 10^1 + 2 *10^0 = 102
-
二进制 1011001 转换为 十进制
64 + 16 + 8 + 1 = 89
-
八进制 76 转换为 十进制
7 * 8^1 + 6 * 8^0= 62
-
十六进制 12b 转换为 十进制
1 * 16^2 + 2 * 16^1 + b = 299
十进制转换为其他进制
-
十进制 26 转换为 二进制
26 / 2 = 13 余 0
13 / 2 = 6 余 1
6 / 2 = 3 余 0
3 / 2 = 1 余 1
结果是 11010 -
十进制 37 转换为 二进制
37 / 2 = 18 余 1
18 / 2 = 9 余 0
9 / 2 = 4 余 1
4 / 2 = 2 余 0
2 / 2 = 1 余 0
结果 为 100101 -
十进制 489 转换为八进制
489 / 8 = 61 余 1
61 / 8 = 7 余 5
结果 751 -
总结:十进制转为N进制。将十进制数除以N,得到的商再除以N,依次类推,直到得到的商小于N,然后在旁边标出各步的余数,最后从最后一次商开始倒着拼上余数写出来。高位补零。
2 的次方数
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
2^10 = 1024
八四二一法 快速转换
-
二进制 10011011 转换为 十进制
128 + 16 + 8 + 2 + 1 = 155
128 64 32 16 8 4 2 1 (个人方法)
1 0 0 1 1 0 1 1 -
二进制 1100101001 转换为 八进制
1 100 101 001 对应 1 4 5 1
结果为 1451 -
十进制 59 转换为 二进制
32+16+8+2+1=111011
-
八进制 176 转换为 二进制
1 7 2
001 111 0101111010
-
二进制 1000111011011 转换为 十六进制
0001 0001 1101 1011
1 1 D B
11DB -
十六进制 AD1 转换为 二进制
1010 1101 0001
-
十进制 89 转换为 八进制(先转换为二进制)
89 = 64 + 16 + 8 + 1
001 011 001
131 -
八进制 47 转换为 十六进制
10 0111
27
四、进制转换(小数)
十进制转为二进制
-
十进制数 10.25 转换为 二进制
整数部分 10 转换二进制 为 1010
小数部分 0.25
0.25 * 2 = 0.5 取 0 小数部分 0.5
0.5 * 2 = 1 取 1 小数部分 0.0 结束
最后结果 1010.01 -
十进制数 12.58 转换为 二进制
整数部分 12 转换为 二进制 1100
小数部分 0.58
0.58 * 2 = 1.16 取 1 小数部分 0.16
0.16 * 2 = 0.32 取 0 小数部分 0.32
0.32 * 2 = 0.64 取 0 小数部分 0.64
0.64 * 2 = 1.28 取 1 小数部分 0.28
0.28 * 2 = 0.56 取 0 小数部分 0.56
0.56 * 2 = 1.12 取 1 小数部分 0.12
继续 永远也玩不了 ....
结果 1100.100101.... -
总结:
小数部分只有是 0.5 0.25 0 .75 0.125 0.0625 等 可以是 有限小数
转换为分数后,分母是 2的次方数 才可以转为有限小数 -
同样适用于 十进制 转 其他进制
二进制转十进制
-
二进制 1101.1101 转为 十进制
整数部分 1101 转为 十进制 为 13
小数部分0.1101= 1 * 2^-1 + 1 * 2^-2 + 0 * 2^-3 + 1 * 2^-4= 0.5 + 0.25 + 0 + 0.0625 = 0.8125
13.8125 -
同样适用 其他进制 转换为 十进制
熟记 2 的 负数次方
2^-1=0.5
2^-2=0.25
2^-3=0.125
2^-4=0.0625
2^-5=0.03125
2^-6=0.015625
2^-7=0.0078125
2^-8=0.00390625
2^-9=0.00195312
2^-10=0.00097656
二进制和八进制或十六禁止的小数转换
-
二进制 10.10010101 转换为 八进制
整数部分 10 转 八进制 为 2
小数部分 进行 拆分 3个一组,不足右补零
100——>4
101——>5
010——>2
最后结果 2.452 -
二进制数 10.10010101 转换为 十六进制
整数部分 10 转 十六进制 为 2
小数部分进行拆分4个一组,
1001->9
0101->5
最后结果 2.95 -
八进制 17.236 转换为 二进制
整数部分17转二进制为1111
小数部分进行拆分 一个拆分成3个数字为一组
2->010
3->011
6->110
最后结果 1111.010011110 -
十六进制 a.3ef 转换为 二进制
整数部分 a 转 二进制 为 1010
小数部分进行拆分 一个拆分成4个数字为一组
3->0011
e->1110
f->1111
最后结果 1010.001111101111
五、二进制运算
二进制加法
-
1101 + 100101
1101
+100101
---------
110010 -
直接转化为十进制算好之后转为二进制
1101=13
100101=37
13+37=50
110101
二进制减法
-
1001001 - 10011
1001001
- 10011
---------------
110110
二进制乘法
-
1001 * 110
1001
x 110
-------------
0000
1001
1001
---------------
110110
二进制除法
-
100110 / 110
110
-----------------
110)100110
110
--------------------------
111
110
--------------------------
10结果 110 余 10

浙公网安备 33010602011771号