zoukankan      html  css  js  c++  java
  • GetBit SetBit

       /// <summary>
             /// 设置某一位的值
            /// </summary>
             /// <param name="data"></param>
             /// <param name="index">要设置的位, 值从低到高为 1-8</param>
             /// <param name="flag">要设置的值 true / false</param>
             /// <returns></returns>
             byte set_bit(byte data, int index, bool flag)
             {
                 if (index > 8 || index < 1)
                     throw new ArgumentOutOfRangeException();
                 int v = index < 2 ? index : (2 << (index - 2));
                 return flag ? (byte)(data | v) : (byte)(data & ~v);
             }
        /// <summary>
            /// 获取数据中某一位的值
            /// </summary>
            /// <param name="input">传入的数据类型,可换成其它数据类型,比如Int</param>
            /// <param name="index">要获取的第几位的序号,从0开始</param>
            /// <returns>返回值为-1表示获取值失败</returns>
            private int GetbitValue(byte input,int index)
            {
                if (index > sizeof(byte))
                {
                    return -1;
                }
                //左移到最高位
                int value = input << (sizeof(byte) - 1 - index);
                //右移到最低位
                value = value >> (sizeof(byte) - 1);
                return value;
            }
  • 相关阅读:
    apache配置虚拟主机的三种方式
    mysql ddl语句
    MySQL锁机制
    如何卸载rpm包
    RAC SCAN
    oracle rac scan ip 用途 原理
    如何用udev for asm in oracle linux 6
    ORACLE RAC NTP 时间服务器配置
    对表空间 'USERS' 无权限
    bootstrap全局css样式
  • 原文地址:https://www.cnblogs.com/chengjunwei/p/4198599.html
Copyright © 2011-2022 走看看