• 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;
            }
  • 相关阅读:
    βVAE学习
    条件GAN学习
    epoll的事件的状态
    RST报文产生的情况
    SIGPIPE信号产生原因
    methods事件
    for列表渲染
    if条件渲染
    data数据
    vue的简单上手
  • 原文地址:https://www.cnblogs.com/chengjunwei/p/4198599.html
Copyright © 2020-2023  润新知