/**
* author: sustbeckham
* java7语法新特性,整数的二进制表示 0b 知识来源:oracle官网
**/
public class BinaryTest {
public static void main(String[] args) {
// java6中这种语法是错误的:Syntax error on token "b00100001", delete this token
// 常用的是16进制的0x
// ‘B’的大小写无所谓
byte aByte = (byte)0B00100001;
System.out.println(aByte);
// 32位的整形的二进制表示方法
int anInt1 = 0B10100001010001011010000101000101; //最高位为1 负数
int anInt2 = 0B1010000101000101101000010100010;
int anInt3 = 0b101;
// 64位的long型也是一样,不过就要注意后边的字母后缀L了~~~
long aLong = 0b1010000101000101101000010100010110100001010001011010000101000101L;
System.out.println(" anInt1 : " + anInt1);
System.out.println(" anInt2 : " + anInt2);
System.out.println(" anInt3 : " + anInt3);
System.out.println(" aLong : " + aLong);
// 二进制的表达方式要比16进制从感觉上更容易理解,有更强的表现力,比如下边...
int[] phasesB = {
0b00110001,
0b01100010,
0b11000100,
0b10001001,
0b00010011,
0b00100110,
0b01001100,
0b10011000
};
int[] phasesX = {
0x31, 0x62, 0xC4, 0x89, 0x13, 0x26, 0x4C, 0x98
};
}
}