is it a correct way to convert an int
value to uint8_t
:
int x = 3;
uint8_t y = (uint8_t) x;
assume that x will never be less than 0. Although gcc
does not give any warning for the above lines, I just wanted to be sure if it is correct to do it or is there a better way to convert int to uint8_t?
P.S. I use C on Linux if you are going to suggest a standard function
y = x;
is fine. – Gratauint8_t
. – Pierroy = x;
instead ofuint8_t y = x;
can introduce a bug if there is a previously declaredy
in scope. – Lycaonia