Java: 将指定的某一bit位 置0、置1、取反
将指定的某一个比特位置0、置1、取反:
/** * Set the specified bit to 1 * * @param originByte Raw byte value * @param bitIndex bit index (From 0~7) * @return Final byte value */ public static byte setSpecifiedBitTo1(byte originByte, int bitIndex) { return originByte |= (1 << bitIndex); } /** * Set the specified bit to 0 * * @param originByte Raw byte value * @param bitIndex bit index (From 0~7) * @return Final byte value */ public static byte setSpecifiedBitTo0(byte originByte, int bitIndex) { return originByte &= ~(1 << bitIndex); } /** * Invert the specified bit * * @param originByte Raw byte value * @param bitIndex bit index (From 0~7) * @return Final byte value */ public static byte setSpecifiedBitToReverse(byte originByte, int bitIndex) { return originByte ^= (1 << bitIndex); } /** * Get the value of the specified bit * * @param originByte Raw byte value * @param bitIndex bit index (From 0~7) * @return Final byte value */ public static byte getSpecifiedBitValue(byte originByte, int bitIndex) { return (byte) ((originByte) >> (bitIndex) & 1); }