我必须转换
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);