gpt4 book ai didi

c#合并字节数组并转换为16位整数

转载 作者:太空宇宙 更新时间:2023-11-03 20:24:34 24 4
gpt4 key购买 nike

假设我有一个这样定义的字节数组:

byte[] byteArray = { 0x08, 0x00 };

我需要组合数组中的元素来创建:

0x0800

然后将其转换为 int:

2048

像这样:

    private static int GetMessageType(byte[] byteArray)
{
if(byteArray.Length != 2)
throw new ArgumentOutOfRangeException("byteArray");

throw new NotImplementedException();
}

最佳答案

为什么不直接使用简单的按位运算符呢?例如

byte hiByte = byteArray[0];  // or as appropriate
byte lowByte = byteArray[1];
short val = (short)((hiByte << 8) | lowByte);

在这种情况下,按位结果被视为 [signed] short(在标题之后?)并且可能导致负值,但可以根据需要通过删除强制转换来更改..

关于c#合并字节数组并转换为16位整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11353389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com