c# - 如何在 C# 中获取两个字节并将它们组合成一个 UInt16?

标签 c# .net bit-manipulation

我想有一个方法与 body :

public UInt16 ReadMemory16(Byte[] memory, UInt16 address)
{
    // read two bytes at the predefined address
}

所以,我想获取 memory[address] 和下一个字节的值,并将它们组合成一个 UInt16。

对于字节的顺序,如果重要的话,我正在实现的机器是小端。如何获取这两个字节值并将它们组合成 C# 中的单个 UInt16?

最佳答案

一种方法是使用 BitConverter类:

public UInt16 ReadMemory16(Byte[] memory, UInt16 address)
{
    return System.BitConverter.ToUInt16(memory, address);
}

这将根据机器上的 native 字节顺序解释字节。

关于c# - 如何在 C# 中获取两个字节并将它们组合成一个 UInt16?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3764141/

相关文章:

c# - 使用 MySql 获取每个事件的正确价格

c# - ADO.NET 实体模型和 LINQ

c# - NULL 合并字典查找

c - 十进制到二进制转换器无法计算大于 1023 的小数

c# - 将格式 xxxxxxxxxx 更改为 xxx-xxx-xxxx

c#一道简单的调试题

c# - MSACCESS DateTIme SQL 查询

c# - 有 2 个连接到 sql server 的最佳方法(一个读取一个写入)

c++ - 这个 min() 函数是如何工作的?

rust - 计算前导/尾随 1/0 的效率有什么不同吗?