字节的理解

byte 即字节,由8位的二进制组成,是java的基本数据类型,存储整型数据,占据1个字节(8 bits),能够存储的数据范围是-128~+127。
超出范围的需要对其 b & 0xff 或者 b + 256 进行运算转换相应的类型
取字节的高四位( b & 0xf0) >> 4
取字节的低四位 b & 0x0f

/**
     * 获取高四位
     * @param 
     * @param t
     * @return
     */
    public static  int getByteHeight4(T t) {
        String reslut = toBinary(t);
        if(reslut.length()==8) {
            reslut = reslut.substring(0, 4);
            return Integer.parseInt(reslut, 2);
        }
        return 0;
    }
    /**
     * 获取低四位
     * @param 
     * @param t
     * @return
     */
    public static  int getByteLow4(T t) {
        String reslut = toBinary(t);
        if(reslut.length()==8) {
            reslut = reslut.substring(4, 8);
            return Integer.parseInt(reslut, 2);
        }
        return 0;
    }
    
    /*
     * 转换二进制
     */
    public static String toBinary(T i) {
        if(i instanceof Byte) {
            return String.format("%8s", Integer.toBinaryString((byte)i & 0xFF)).replace(' ', '0');
        }else if(i instanceof Integer) {
            return String.format("%8s", Integer.toBinaryString((int)i)).replace(' ', '0');  
        }
        return "";
    }

有错误的还望大家多多指出来

你可能感兴趣的:(字节的理解)