将int
值转换为uint8_t
的正确方法是:
int x = 3;
uint8_t y = (uint8_t) x;
假设x永远不会小于0。尽管
gcc
对以上行没有给出任何警告,但我只是想确定这样做是否正确,或者是否有更好的方法将int转换为uint8_t?P.S.如果您要建议标准功能,则在Linux上使用C
最佳答案
是正确的,但是没有强制转换:
uint8_t y = (uint8_t) x;
相当于
uint8_t y = x;
在上面的声明中初始化之前,
x
隐式转换为uint8_t
。