zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    [Agc081F/At2699] Flip and Rectangles
    [CF1216C] White Sheet
    stegsolve使用探究
    栅栏密码
    wireshark常用命令
    某团队线下赛AWD writeup&Beescms_V4.0代码审计
    某线下赛AWD
    BBScan — 一个信息泄漏批量扫描脚本
    ISG2018 web题Writeup
    巅峰极客第二场CTF部分writeup
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/13214479.html
Copyright © 2011-2022 走看看