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

来源:互联网 发布:java中时间格式 编辑:程序博客网 时间:2024/05/22 11:46

额,要将两个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 输出的就是的无符号数了
0 0