using System; using System.Collections.Generic; using System.Linq; using System.Text; /// /// 位操作 /// public partial class Utils { /// /// 设置指定位为0 位下标:0-31 /// /// 目标值 /// 目标位 /// 修改后的值 public static int BitZero(int val, int pos) { int bit = 1 << pos; int mark = 0; mark = (~mark) ^ bit; val &= mark; return val; } /// /// 设置指定位为1 位下标:0-31 /// /// 目标值 /// 目标位 /// 修改后的值 public static int BitOne(int val, int pos) { int bit = 1 << pos; val |= bit; return val; } /// /// 获取指定位的值 位下标:0-31 /// /// 目标值 /// 目标位 /// 目标位的值0或1 public static int GetBit(int val, int pos) { return (val & (1 << pos)) >> pos; } }