假设我有以下内容。
int main(){
int x = 0x02;
int y = 0x72;
//Figure out how to put 0x02 and 0x72 together to make 0x272.
}
正如评论所说,我想弄清楚如何将十六进制值放在一起。这不是简单的数字添加。
那个代码是一个更大的项目的一部分,我想知道如何解决这个问题。
答案 0 :(得分:2)
是的,这是一个简单的添加问题,因为乘法是很多简单的补充。 :-)
我建议使用乘法(并使用无符号整数):
temp
此解决方案与平台无关,不依赖于Endinanness。
答案 1 :(得分:1)
像:
int main(){
int x = 0x02;
int y = 0x72;
int z = x << 8 | y;
printf("0x%x\n", z);
z = y << 8 | x;
printf("0x%x\n", z);
}
输出:
0x272
0x7202