字节格式化

Emre801

您好,我是C#中使用字节的新手。

假设我要比较基于0xxxxxxx和1xxxxxxx格式的字节。我如何获得比较的第一个值,同时又从前面将其删除?

任何帮助将不胜感激。

杰普·斯蒂格·尼尔森(Jeppe Stig Nielsen)

不确定我是否理解,但是在C#中,要编写binaray数字1000'0000,必须使用十六进制表示法。因此,要检查两个字节的最左(最高有效)位是否匹配,可以执行例如

byte a = ...;
byte b = ...;

if ((a & 0x80) == (b & 0x80))
{
  // match
}
else
{
  // opposite
}

这使用按位与。要清除最高有效位,可以使用:

byte aModified = (byte)(a & 0x7f);

或者,如果您想重新分配给a

a &= 0x7f;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章