天天看點

二進制 八進制 和十六進制

  二進制的基本規則就是“逢二進一”,其中隻用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 = (0100 1111 0010 1010)2(當然就是16的位數次幂啦) 。

至于轉換成十進制的隻要将他們次幂相加以十進制就可以了(次幂不會輸入,就不舉例子啦)。

補充一下關于負數的二進制,首先需要求他的反碼,之後求他的補碼,得到的補碼就是這個數的負數。

比如說5的二進制為: 00000000 00000000 00000000 00000101 ,他的反碼為11111111 11111111 11111111 11111010(其實就是1和0互換),再求他的補碼(其實就是反碼加1) 11111111 11111111 11111111 11111011,這個二進制就是-5。