2016-08-02 33 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 
相关问题