二进制的基本规则就是“逢二进一”,其中只用0和1表示。
0 = 0
1 = 1
2 = 10(2 + 0)
3 = 11(2 + 1)
4 = 100(4 + 0 + 0)
···
8 = 1000(8 + 0 + 0 + 0)
···
16 = 10000(16 + 0 + 0 + 0 + 0)
···
32 = 100000(32 + 0 + 0 + 0 + 0 + 0)
···
64 = 1000000(64 + 0 + 0 + 0 + 0 + 0 + 0)
···
128= 10000000(128 + 0 + 0 + 0 + 0 + 0 + 0 + 0)
比如说1111,其中个位数代表的是1,十位数代表的是2,百位数代表的是4,千位数代表的是8,所以1111其实就是1 + 2 + 4 + 8 = 15(其实就是2的位数次幂);
八进制就是“逢八进一”,其中只用0,1,2,3,4,5,6,7表示。
所以二进制和八进制的转换就是三个为一组
000 = 0;
001 = 1;
010 = 2;
011 = 3;
100 = 4;
101 = 5;
110 = 6;
111 = 7;
举个简单的例子:(641)8 = (110 100 000)2 (其实就是8的位数次幂)
当然啦,十六进制就是“逢十六进一”啦!其中用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F来表示(其中A = 10,B = 11,C = 12,D = 13,E = 14 ,F = 15)。
二进制和十六进制之间的转换就是四个为一组
0000 = 0;
···(当然这其中都和八进制差不多,你们肯定都会啦,哈哈哈哈哈)
1010 = A;(其实就是10)
1011 = B;(11)
1100 = C;(12)
1101 = D;(13)
1110 = E;(14)
1111 = F;(15)
依旧一个简单的例子:(6F2A)16 = (0111 1111 0010 1010)2(当然就是16的位数次幂啦) 。
至于转换成十进制的只要将他们次幂相加以十进制就可以了(次幂不会输入,就不举例子啦)。
补充一下关于负数的二进制,首先需要求他的反码,之后求他的补码,得到的补码就是这个数的负数。
比如说5的二进制为: 00000000 00000000 00000000 00000101 ,他的反码为11111111 11111111 11111111 11111010(其实就是1和0互换),再求他的补码(其实就是反码加1) 11111111 11111111 11111111 11111011,这个二进制就是-5。