java中“0x”表示的含义


参考:https://blog.csdn.net/wanghao109/article/details/12980737

=======================================================================

    public static void main(String[] args) {
        int a = 0xff;//16进制默认是int
        int b = 0x000000ff;
        System.out.println(a);//255
        System.out.println(b);//255
        //结论16进制默认是int类型,前面的的0可以省略

        //byte c = 0xff;//报错,需要强制把int转成byte
        byte d = 0b01;//0b默认是byte类型,前面的0可以省略
        byte e = 0b000000001;
        System.out.println(d);//1
        System.out.println(e);//1
    }
public class Test {
    
    public static void main(String[] args) {
        
        int a = 0x2f;//小写十六进制(等价于0x002f)
        System.out.println(Integer.toBinaryString(a));
        
        int b = 0x2F;//大写十六进制
        System.out.println(Integer.toBinaryString(b));
        
        int c = 10;//标准十进制
        System.out.println(Integer.toBinaryString(c));
        
        int d = 010;//以零开头,表示八进制
        System.out.println(Integer.toBinaryString(d));
        
        
        
        char e = 0xff;//char为2个字节,16位
        byte f = 0xf;//byte为8位
        short g = 0xff;//short为2个字节,16位
        System.out.println(Integer.toBinaryString(e));
        System.out.println(Integer.toBinaryString(f));
        System.out.println(Integer.toBinaryString(g));
 
    }
}
/*
  结果如下:(都是按照int型处理)
101111
101111
1010
1000
11111111
1111
11111111

相关