位操作:高、中、低8位处理

public class BitwiseOperateUtil {

    /**
     * 计算结果
     * @param top 高16位
     * @param middle 中8位
     * @param mantissa 尾8位
     * @return
     */
    public static int calSourceFromMask(int top,int middle,int mantissa){
        return (top << 16) | (middle << 8) | mantissa;
    }

    /**
     * 获取指定位
     * @param n 原值
     * @param m 位数
     * @return
     */
    int getBit(int n, int m){
        return (n >> (m-1)) & 1;
    }

    /**
     * 获取高16位
     * @param value
     * @return
     */
    private int getTopSixteen(int value){
        return value >> 16;
    }

    /**
     * 获取中8位
     * @param value
     * @return
     */
    private int getMidEight(int value){
        return getMattissaEight(value >> 8);
    }

    /**
     * 获取低8位
     * @param value
     * @return
     */
    private int getMattissaEight(int value){
        return (value & 255);
    }
}
打赏