2014-02-10 59 views
0

這是我一直在閱讀編程書籍和計算機科學課的時候在學校學習如何將十進制值轉換爲十六進制數據的過程。 有人可以告訴我什麼是使用十六進制值的優點,爲什麼我們在programmnig中使用它們? 謝謝。編程中十六進制值的用法是什麼?

+1

我只能想到顏色,這導致我[這個問題](http:// stackoverflow .COM /問題/ 1383415 /爲什麼使用-base16號碼功能於代碼時,base10號碼 - 是 - 更可讀)。 –

+1

@DaveChen - 十六進制基本上使它更容易管理二進制數字。 – admdrew

回答

0

在許多情況下(例如位掩碼),您需要使用二進制,但二進制由於其長度而難以閱讀。由於十六進制值可以更容易地從二進制轉換爲二進制而不是十進制,因此可以將十六進制值視爲二進制值的簡寫符號。

+0

這是否意味着十六進制值比使用十進制更有效? –

+0

@Ethylene - 不,它只是使它們更容易被人類管理。編輯:我想這會讓它從人的角度來看效率更高,但是在計算的硬件層面上,不能比二進制效率更高 – admdrew

+0

噢好的。謝啦。 –

0

的十六進制數字相當於1:1至4位的給定的模式。有了經驗,你可以從內存映射它們。例如。 0x8 = 1000,0xF = 1111,相應地,0x8F = 10001111. 這是一種方便的速記,其中位模式很重要,例如,位圖或使用I/O端口時。爲了顯示169d的位模式比較困難。

0

A byte由8位二進制數字組成,是計算機通常使用的最小數據段。計算機工作的所有其他變量均由字節構成。例如;一個字符可以存儲在一個字節中,而一個32位整數由4個字節組成。

由於字節非常重要,我們希望儘可能整潔,高效地寫下它們的值。一種選擇是使用二進制,但是我們需要很多數字。這佔用了大量的空間,並可以在許多數字都寫在順序混亂:

200 201 202 == 11001000 11001001 11001010 

使用十六進制表示法,我們可以只用兩個數字寫的每一個字節:

200 == C8 

而且, 16是2的冪,很容易在你的腦海中進行十六進制和二進制表示之間的轉換。這很有用,因爲有時我們只對字節內的一個位感興趣。舉個簡單的例子,如果一個十六進制表示的第一個數字是0,我們知道前四個二進制數字是0.