目标 C 将 int 转换为无符号字符十六进制



我必须转换

int x = 4 unsigned char y = 0x04

int x = 0 unsigned char y = 0x00

int x = -4 unsigned char y = 0xFC

int x = -8 unsigned char y = 0xF8

依此类推,直到 -20 到 0xEC。

有谁知道一个聪明的方法?

没有这样的转换; 只需从 int 转换为 unsigned char

int x = -4;
unsigned char y = (unsigned char)x;

也没有这样的十六进制;这只是一个格式化选项,用于printf()或其他什么:

printf("y=0x%02x", (unsigned)y);

最新更新