平时做题也好,写程序或算法也罢,我们经常会见到诸如0Xfff、0b1000等数据,那么它们到底是什么意思呢?
其实0x、0b等是不同进制的前缀,旨在告诉编译器后面的数字是几进制的数据,而非默认的十进制数据。
二进制(binary):以0b或者0B为前缀,例如0b1000,等价于十进制的$1*2^3$=8
需要注意的是,0b(0B)这种写法是从jdk1.7才有的
八进制(octal):以0为前缀,例如:070,等价于十进制的$7*8^1+0*8$=56
十进制(decimal):没有前缀,默认情况下数字均为十进制表示
十六进制(hexadecimal):以0x或者0X为前缀,例如算法中很常见的0xfff
上面的0是数字0,而不是字母o
1 | public class Main { |
输出结果:
1 | 8 |