取一个字节的前半部分

时间:2014-09-19 15:25:06

标签: c# byte

我正在寻找一种更高性能/更优雅的方法来获取字节的前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()));

1 个答案:

答案 0 :(得分:2)

字节b的前半部分是

b >> 4

假设您希望将其移入较低的四位。如果你想要它仍然存在,但删除下半部分,它只是

b & 240  // or "b & 0xf0"

但它从你的代码看起来好像前者是你想要的。