十六進位制八進位制和二進位制文字

hexadecimal 數字是 base-16 中的值。有 16 位數字,0-9 和字母 A-F(情況無關緊要)。A-F 代表 10-16

octal 數字是 base-8 中的值,並使用數字 0-7

binary 數字是 base-2 中的值,使用數字 01

所有這些數字都會產生相同的值,110

int dec = 110;            // no prefix   --> decimal literal
int bin = 0b1101110;      // '0b' prefix --> binary literal
int oct = 0156;           // '0' prefix  --> octal literal
int hex = 0x6E;           // '0x' prefix --> hexadecimal literal

請注意,Java 7 中引入了二進位制文字語法。

八進位制文字很容易成為語義錯誤的陷阱。如果你將一個領先的'0'定義為十進位制文字,你將得到錯誤的值:

int a = 0100;        // Instead of 100, a == 64