十六进制八进制和二进制文字
hexadecimal 数字是 base-16 中的值。有 16 位数字,0-9 和字母 A-F(情况无关紧要)。A-F 代表 10-16。
octal 数字是 base-8 中的值,并使用数字 0-7。
binary 数字是 base-2 中的值,使用数字 0 和 1。
所有这些数字都会产生相同的值,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