将两个byte型拼接成16位二进制

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


1
2
3
4
5
6
7
8
9
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();
追问:
这样输出的十进制带有符号吗?
追答:
你把上面 short 全部换成 ushort 输出的就是的无符号数了

你可能感兴趣的:(C#,串口通信)