我正在寻找一种更高性能/更优雅的方法来获取字节的前4位。字节是大端
var gpsFixStatus = (int)raw[28];
int[] remainder = new int[8];
for (int i = 0; i < 7; i++)
{
remainder[i] = gpsFixStatus % 2;
gpsFixStatus = gpsFixStatus / 2;
}
var gpsFix = byte.Parse((remainder[7].ToString() + remainder[6].ToString() + remainder[5].ToString() + remainder[4].ToString()));
答案 0 :(得分:2)
字节b
的前半部分是
b >> 4
假设您希望将其移入较低的四位。如果你想要它仍然存在,但删除下半部分,它只是
b & 240 // or "b & 0xf0"
但它从你的代码看起来好像前者是你想要的。