/// <summary>
/// 设置一个byte中各个bit的位值
/// </summary>
/// <param name="_word">目标,要设置的byte</param>
/// <param name="value">值,为目标位设置的值</param>
/// <param name="offset">值在目标中的偏移量</param>
/// <returns></returns>
public static byte SetBits(byte _word, byte value, int offset)
{
byte mask_1 = (byte)(value << offset);
byte mask_2 = (byte)(~mask_1 & _word);
return (byte)(mask_1 | mask_2);
}
/// <summary>
/// 设置一个byte中各个bit的位值
/// </summary>
/// <param name="_word">目标,要设置的byte</param>
/// <param name="value">值,为目标位设置的值</param>
/// <param name="offset">值在目标中的偏移量</param>
/// <returns></returns>
public static byte SetBitsReverse(byte _word, byte value, int offset)
{
byte mask_1 = (byte)(value >> offset);
byte mask_2 = (byte)(~mask_1 & _word);
return (byte)(mask_1 | mask_2);
}
C# 设置一个byte中各个bit的值
最新推荐文章于 2023-10-10 10:43:23 发布