C# 设置byte数据某一位的值

在开发中,有时候会遇到要置byte数据某一位或者某几位数据为某个特定值的问题

如果有规律的话,可以用位操作符进行处理,没规律的需要自己实现。


//index是要设置哪一位,从左到右依次是:8,7,6,5,4,3,2,1

//flag 为true 表示设值为1,false表示设值为0

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);
	
}
        

以上即可。


版权声明:本文为qq_37887131原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。