2013-07-26 78 views
-2

我的書說0010 1010的二進制表示法等於42.然後,如果使用十六進制,則可以將其分解爲2A。我的書上說如何正確讀取十六進制

2 =(2 * 16 = 32)A =(10×1 = 10)所以32 + 10 = 42

我完全丟失。我不明白,如果你是從右到左開始,爲什麼前四位數的值是2 + 8 = 10 = A。那麼爲什麼32等於2而不是32。總額是多少?

爲什麼你乘以10乘1,然後2乘以不同的16值?

回答

2

二進制數中的每個數字具有權重= 2 ^位置,其中位置從右到左開始。這些是字節

128 64 32 16 8 4 2 1 

所以權重

0 0 1 0  1 0 1 0 

我們得到

32 + 8 + 2 = 42

+0

也解釋了十六進制可能有幫助 –

+0

如果你有1111 1111 1111 1111你會得到FFFF嗎?我認爲每個街區都獨立於另一街區嗎?例如,最右邊的1111使用十進制,其他三個使用128,64,32,16?左邊的第二塊不會使用2048,1024,512,256,而是使用128,64,32,16。這是正確的。對不起,如果我的問題很混亂。 –

+0

1)沒有小數,只是忘了它2)你的例子中的高字節從pos#8開始,這是(right to legt)2^8 = 256,2^9 = 512 ...這就是00000001 000000001 = 257 –

1

十六進制:2A

16 1 

2  A   =(16*2)+(10*1) //A equals 10 in decimal 

在癸進制將是這樣的:

十進制:42

10 1 

4  2   =(4*10)+(2*1)= 42 
1

計算配套。從右側開始向左

每個數字被乘以從權2^N系列向左

它像

first digit * 2^0 
second digit * 2^1 
Third digit * 2^2 

的上述結果的總和,將計算

在簡單的模式

...16 8 4 2 1 

所以回答你的模式是

0+0+32+0+8+0+2+0 = 42