unsigned long val = 0; char a = 0x48; char b = 0x52; val = b << 8 | a;
20992
21064
72
0
其中,横向的箭头表示, 在运算之前必须转换的; 竖向的箭头表示运算过程中默认转换的顺 序,也就是说, float 类型的数据在运算之前,都转换为 double 类型的数据进行运算,同理, short 和 char 类型的数据在运算之前, 都是转换为 int 类型的数据进行运算。
val = b << 8 | a; //0x52=01010010左移8位为:010100100000000 =010100100000000|01001000 =0101001001001000 =0x5248 //16进制 =21064 //10进制
2)十六进制数转换为二进制数
char只有一个字节,没有提前类型转换,所以选的72
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题