所以我在我的项目中遇到了一个路障。 我想要做的是找出一种方法来采取四个单独的二进制字符表示标志。现在我的最后一项任务是把这四个标志放在一个char []中,这根本不难。但现在,我想采取四个并将其转换为十六进制。如何将char []转换为Hex? C
因此,例如:
O = 1;
C = 1;
Z = 0;
N = 0;
char flags[5];
flags[0] = O;
flags[1] = C;
flags[2] = Z;
flags[3] = N;
现在我想做一个字符串或东西,我可以在上述转换为十六进制。因此,例如我想1100转换为一个十六进制,这是0xC
现在我已经尝试使它在一个字符串中,然后解析它,但我很困惑,现在失去了。我看不到正确的输出。
如果有什么修改代码,我想要十六进制是4个字符长? –
@Prince Kishore:'sprintf(buffer,“%04X”,0xffff&flags);'//假定你不需要0x前缀。在4个十六进制数字之后,仍然有第5个字符= 0终止字符串。 “ – Curd