2014-02-13 20 views
3

十六進制0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F起。向我解釋十六進制'0xf0'中的'x'來自何處

我很困惑,'x''0x0f'來自哪裏。

如果'0x0f' = '0000 1111''15'爲什麼不只是寫'0f'

很確定這在大多數語言中是通用的,但是如果不是,我使用Java。

謝謝。

+0

這實際上並不普遍(儘管它很常見)。例如,在某些彙編語言中,您會看到「$ 1234」。 – harold

+1

這來自'C',它也是這樣做的。這被稱爲「十六進制」,你可以使用'h',但它非常接近'g','e'不能被使用,因爲它已經在十六進制中被使用了,'x'已經明顯不同了。 –

+1

十六進制實際上只有16位數字(0-9,A-F),而不是像你列出的那樣17。 'G'不是十六進制數字。 – 8bittree

回答

11

它是歷史,與Java繼承該語法從C.

x必要從0x377,其中在前者的前導零表明它在八進制(基數8)區分0377(例如):

377 - base 10 
    0377 - base 8 
0x377 - base 16 
+0

+1,用於簡單的示例後續回答 – diazazar

1

JLS

在十六進制或二進制文字,整數僅由0x或0B字符之後和任何類型的後綴之前 數字表示。 因此,下劃線可能不會在0x或0b之後立即出現,或者在數字中最後一位數字之後不會出現下劃線 。

它用於區分鹼基。

+1

爲什麼downvote? :( – Maroun