一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数。换算为十进制,最小值:0 最大值:255 。
字节组与位组的转化
//转化为位组
BitArray myBit = new BitArray(binarylist);
//更新指定位数的二进制值
myBit.Set(index, value);
//再转化为字节组
byte[] Newbyte = new byte[(myBit.Length - 1) / 8 + 1];
myBit.CopyTo(Newbyte, 0);
两个字节合并为一个字节组
//合并为完整指令字节组
var prebyte = new byte[] { 1, 2 };
var Newbyte= new byte[] { 3, 4 };
var allbyte = new byte[prebyte.Length + Newbyte.Length];
prebyte.CopyTo(allbyte,0);
Newbyte.CopyTo(allbyte, prebyte.Length);
//allbyte ={1,2,3,4}
两个字节组是否相等
/// <summary>
/// 数组比较是否相等
/// </summary>
/// <param name="bt1">数组1</param>
/// <param name="bt2">数组2</param>
/// <returns>true:相等,false:不相等</returns>
bool CompareArray(byte[] bt1, byte[] bt2)
{
var len1 = bt1.Length;
var len2 = bt2.Length;
if (len1 != len2)
{
return false;
}
for (var i = 0; i < len1; i++)
{
if (bt1[i] != bt2[i])
return false;
}
return true;
}