是将int
值转换为uint8_t
的正确方法:
int x = 3;
uint8_t y = (uint8_t) x;
假设x永远不会小于0.尽管gcc
没有给出上述行的任何警告,我只是想确定它是否正确或是否有更好的转换方法int到uint8_t?
P.S。如果你打算建议一个标准函数,我在Linux上使用C
答案 0 :(得分:12)
这是正确的,但没有必要演员:
uint8_t y = (uint8_t) x;
相当于
uint8_t y = x;
在上面的声明中初始化之前, x
被隐含地转换为uint8_t
。