【发布时间】:2014-07-25 07:13:06
【问题描述】:
我有这些定义:
int data = uartBaseAddress[UART_DATA_REGISTER / 4]; // data coming from UART RX port
char message[20]; // array of 20 chars
现在当我尝试这样做时:
message[0] = (char) data;
printf("%x", message[0]);
它打印(例如):"ffffff9c"。
当然我只想要最后 8 位(“9c”),我不明白如何正确地进行从 int 到 char 的转换。
编辑:我的意思是:我必须像这样填充数组:
data = 0xFFFFFF9c;
message[0] = data & 0xFF; -- it has to contain only 9c
data = 0xFFFFFFde;
message[1] = data & 0xFF; -- it has to contain only de
etc...
【问题讨论】:
标签: c arrays char int type-conversion