且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

你如何转换3个字节为C#中的24位数字?

更新时间:2023-02-10 18:01:53

  VAR NUM =数据[0] +(数据[1] ;&所述; 8)+(数据[2]&下;&下; 16); 


I have an array of bytes that I read from a header section of a message. These bytes contain the length of the message. There never are more than 3 bytes and they are ordered from LSB to MSB. So in the example below, 39 is the LSB and 2 is the MSB.

var data = new byte[] { 39, 213, 2 };

In the example above how can I take those bytes and convert to a number (int,short,etc)?

var num = data[0] + (data[1] << 8) + (data[2] << 16);