读书人

将两个字节的byte 16进制数 转换成一个

发布时间: 2013-09-28 10:01:20 作者: rapoo

将两个字节的byte 16进制数 转换成一个int型的10进制数
将两个字节的byte 16进制数 转换成一个int型的10进制数
比如
byte a[2];
a[0] = 0x03; //高位
a[1] = 0x1f; //低位



将这两个字节组合成一个int型的十进制

[解决办法]
int x = a[0] << 8
[解决办法]
a[1];
[解决办法]
int b = (a[0] << 8)
[解决办法]
a[1];

引用:
将两个字节的byte 16进制数 转换成一个int型的10进制数
比如
byte a[2];
a[0] = 0x03; //高位
a[1] = 0x1f; //低位



将这两个字节组合成一个int型的十进制

[解决办法]
(a[0] << 8)
[解决办法]
a[1]
[解决办法]
C中的16进制数据,和10进制数据,只是表示方法不同.

当赋值之后(其实是编译之后),就没有分别了.只有输入输出,以及写代码的时候,才有区别.

所以16进制,10进进制,只有输入输出和用字符串表示的时候,才有区别的必要.
当定义一个变量,不论用16进制(常量)赋值初始化,还是10进制赋值初始化,只是编译时候处理方式不同.

数据的值,是不用区分16进制,和10进制的.
因为编译后的变量里,储存的是二进制,不关16进制,和10进制的事情.

所以,直接组合就成了.

读书人网 >C++

热点推荐