二進制轉換十進制、十六進制

二進制值:

半字節中各位的位值               字節中各位的位值

     8 4 2 1                            128 64 32 16 8 4 2 1


二進制到十進制轉換表:

    二進制值                                十進制值

    10000000                                128

    11000000                                192    

    11100000                                224

    11110000                                240

    11111000                                248

    11111100                                252

    11111110                                254

    11111111                                255


11111111若要計算字節對應的十進制值,可將所有取值爲1 的位的位值相加,如下所示:

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255 ,這是字節的最大可能取值。

二進制數還可對應衆多其他的十進制值,下面來看一些例子。假設二進制數取值如下:

10010110

哪些位的取值爲1 呢?答案是位值爲128 、16 、4 和2 的位,因此只需將這些位值相加: 128+ 16+4+

2= 150。

再舉個例子,假設二進制數取值如下:

01101100

哪些位的取值爲1 呢?答案是位值爲64 、32 、8 和4 的位,因此只需將這些位值相加: 64+32+8+4=

108。再者,如果二進制數取值如下:

11101000

哪些位的取值爲1 呢?答案是位值爲128 、64、32 和8 的位,因此只需將這些位值相加: 128+64+32+

8=232 。



二進制轉十六進制:       

        十六進制只能使用數字0-9 ,而不能使用10 、11 、12 等(因爲它們是二位數),因此使用A 、B 、C、D 、E 和F 分別表示10 、11 、12 、13 、14 和15 。

        每個十六進制字符相當於半字節,而兩個十六進制字符相當於一字節。假設有十六進制數Ox6A,

要計算該十六進制數對應的二進制值,可將這兩個字符分別轉換爲半字節,然後將它們合併爲一個字節:6=0110 ,而A= 1010 ,因此整個字節爲01101010,64+32+8+2=108.     

        假設有二進制數01010101 。首先將其劃分爲半字節0101 和0101 ,這些半字節的值都是5 ,因爲

取值爲1 的位對應的位值分別是1 和4。因此,其十六進制表示爲Ox55 。要將二進制數01010101 轉換

爲十進制數,方法爲64 + 16 + 4 + 1 = 85 。

        另一個二進制數11001100其中1100=12 , 1100= 12 ,因此它對應的十六進制數爲cc。將其轉換爲十進制時,答案爲128+64+8 +4 =204.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章