c#设置或者获取byte(字节、8位二进制整数)某位的的值的代码。
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
#region 获取整数的某一位,设置整数的某一位
/// <summary>
/// 取整数的某一位
/// </summary>
/// <param name="_Resource">要取某一位的整数</param>
/// <param name="_Mask">要取的位置索引,自右至左为0-7</param>
/// <returns>返回某一位的值(0或者1)</returns>
public static int getIntegerSomeBit(int _Resource, int _Mask)
{
return _Resource >> _Mask & 1;
}
/// <summary>
/// 将整数的某位置为0或1
/// </summary>
/// <param name="_Mask">整数的某位</param>
/// <param name="a">整数</param>
/// <param name="flag">是否置1,TURE表示置1,FALSE表示置0</param>
/// <returns>返回修改过的值</returns>
public static int setIntegerSomeBit(int _Mask, int a, bool flag)
{
if (flag)
{
a |= (0x1 << _Mask);
}
else
{
a &= ~(0x1 << _Mask);
}
return a;
}
#endregion
/// <summary>
/// 取整数的某一位
/// </summary>
/// <param name="_Resource">要取某一位的整数</param>
/// <param name="_Mask">要取的位置索引,自右至左为0-7</param>
/// <returns>返回某一位的值(0或者1)</returns>
public static int getIntegerSomeBit(int _Resource, int _Mask)
{
return _Resource >> _Mask & 1;
}
/// <summary>
/// 将整数的某位置为0或1
/// </summary>
/// <param name="_Mask">整数的某位</param>
/// <param name="a">整数</param>
/// <param name="flag">是否置1,TURE表示置1,FALSE表示置0</param>
/// <returns>返回修改过的值</returns>
public static int setIntegerSomeBit(int _Mask, int a, bool flag)
{
if (flag)
{
a |= (0x1 << _Mask);
}
else
{
a &= ~(0x1 << _Mask);
}
return a;
}
#endregion
////////////////////////////////
////////Sixi. Let it be.../////
//////////////////////////////
posted on 2010-12-16 16:50 sixiiweb 阅读(12332) 评论(0) 编辑 收藏 举报