2016-08-02 470 views
0

我見過各種二進制數字,如0x00 0x0F,但我從來沒有見過像1x90這樣的二進制數字。讓我們展示一個二進制數作爲AxBC。 A總是一樣的。它沒有區別。我找到了一個關於這個的論壇,但他們說這是一個常量。 http://www.avrfreaks.net/forum/0x00-0x01-0x02-nxnn 我找不到任何答案,因爲人們通常強調正確的部分而不是左邊的部分。什麼是二進制數字開頭的數字?

我不知道它代表什麼以及我們爲什麼使用它。如果這是一個不變的原因,我們爲什麼要使用它?它只是一個標識符?

謝謝...

回答

0

這只是一個約定,取決於你在看什麼編程語言。 0x是C族語言,Python和其他一些語言。例如,Visual Basic使用$作爲前綴。

但還有更多。在C/C++/C#/ Python /很多其他地方使用0來表示八進制數,一些語言使用b來表示純二進制數(如在b1001001中)。

0

的0X僅僅是從十六進制數字編程語言用於不同的正常數字的慣例。這個0不代表什麼。很可能1x90不是十六進制數字,而是XY座標或其他東西。

0

這不是一個二進制文字,它是一個十六進制文字,它只是一種區分不同文字類型之間區別的方法。以下是Java JLS 3.10.1的摘錄。其他語言將使用類似的約定

IntegerLiteral: 
    DecimalIntegerLiteral 
    HexIntegerLiteral 
    OctalIntegerLiteral 
    BinaryIntegerLiteral 

... 

HexNumeral: 
    0 x HexDigits 
    0 X HexDigits 

HexDigits: 
    HexDigit 
    HexDigit HexDigitsAndUnderscoresopt HexDigit 

HexDigit: one of 
    0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F 

BinaryNumeral: 
    0 b BinaryDigits 
    0 B BinaryDigits 

BinaryDigits: 
    BinaryDigit 
    BinaryDigit BinaryDigitsAndUnderscoresopt BinaryDigit 

BinaryDigit: one of 
    0 1