如何在单个整数变量中存储多个字符值?
例如,我有四个字符,值a = 45; b = A9; c = 44和d = 55.我需要将它们全部存储在一个整数变量中,该变量看起来像l = 0x45A94455
答案 0 :(得分:2)
移位和/或按位操作。每个char为1个字节,int为4。
所以
unsigned int i = (a << 24) | (b << 16) | (c << 8) | d;
然后,如果你想用十六进制打印它。
printf("0x%08X", i)
%08X
表示使用大写字母08
(X
为小写)填充为8个字符,并以十六进制格式打印0 {#1}} x
。