C#如何将两个byte型数,转化为带符号的十进制数?

byte型数组的数是从串口接收过来的二进制
2025-01-19 20:24:16
推荐回答(2个)
回答1:

额,要将两个byte型拼接成16位二进制,再转化为十进制应该怎么弄呢


short s = 0;   //一个16位整形变量,初值为 0000 0000 0000 0000
byte b1 = 1;   //一个byte的变量,作为转换后的高8位,假设初值为 0000 0001
byte b2 = 2;   //一个byte的变量,作为转换后的低8位,假设初值为 0000 0010
s = (short)(s ^ b1);  //将b1赋给s的低8位
s = (short)(s << 8);  //s的低8位移动到高8位
s = (short)(s ^ b2); //在b2赋给s的低8位
Console.Out.WriteLine(Convert.ToString(s, 2)); //以二进制输出s
Console.Out.WriteLine(s); //以十进制输出s
Console.ReadLine();

回答2:

uint a = BitConverter.ToUInt32(byteArray, 0); //byte数组转换成32位带符号十进制数
ushort a = BitConverter.ToUInt16(byteArray, 0);//byte数组转换成16位带符号十进制数