微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将24位,小端,两位补码值转换为C#中的整数的最佳实践?

是否有一种快速的内置方式,使用C#将表示24位(小端,二进制补码)值的三个字节数组转换为int?我该怎么办呢?

谢谢!

解决方法

我很惊讶没有人建议使用BitConverter.假设您在单独的变量中有三个字节:
var data = new byte[]
{
  byte0 & 0x80 == 0 ? 0 : 0xFF,byte0,byte1,byte2
};
return BitConverter.ToInt32(data,0);

或者:

var data = new byte[] { byte0,byte2,0x00 };
return BitConverter.ToInt32(data,0) >> 8;

原文地址:https://www.jb51.cc/csharp/100286.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐