2013-07-02 76 views
0

HEX Article如何分析十六進制和二進制文件?

我的意思是,

在一個程序中,如果我寫:

1111 

我的意思是15同樣地,如果餘寫:

0xF 

我也意味着15.我不完全確定這個過程是如何通過芯片進行的,但我很遺憾地回想起有關標記的一些事情,但實質上com piler會計算

2^3 + 2^2 + 2^1 + 2^0 = 15 

在計算之前將0xF轉換爲「1111」,還是寫成HEX F代表15?

Or simply, 16^0 ? -- which obviously is not 15. 

我找不到任何有用的文章,指出從十六進制轉換爲十進制而不是先轉換爲二進制。


二進制(base2)是如何轉換的(2^n ..等)。 HEX(base16)如何轉換?是否有一個相關的系統,如基地2,基地16?

爲0x1234 = 1 * 16^3 + 2 * 16^2 + 3 * 16^1 + 4 * 16^0 = 4660

但是,如果該:

我的文章中找到數字是0xF,這是否代表F在第0位?我找不到一個簡單的例子。

+0

注意,許多編程語言不要不允許你直接輸入「字符二進制」(即像'011010'這樣的東西)。 C/C++的某些變體允許二進制的「0b」前綴(即「0b011010」),但它不是標準的。 –

回答

1

有十六進制數字,0到9和A至F.

數字0至9是在十六進制和十進制相同。
0xA是10 。
0xB是11 。
0xC是12 。
0xD是13 。
0xE是14 。
0xF是15 。

例如:

0xA34F = 10 * 16 + 3 * 16 + 4 * 16 + 15 * 16

+0

完美,所以0xF = 15 * 16^0。我懂了。所以,之前沒有轉換。謝謝。 – sherrellbc

+1

@sherrellbc:的確如此。 – NPE

+0

另一個快速問題,albiet關閉主題。 4位組仍然表示爲「半字節?「我在OP中鏈接的文章使用了這個術語,並且16位組被稱爲」單詞「。同樣,32位組也是」雙字「。 – sherrellbc

相關問題