la conversion de int à u_int8_t

est-il une bonne façon de convertir un int de la valeur à uint8_t:

int x = 3; 
uint8_t y = (uint8_t) x;

supposer que x ne sera jamais inférieure à 0. Bien que gcc ne donne pas d'avertissement pour les lignes ci-dessus, je voulais juste être sûr que si il est correct de le faire ou est-il une meilleure façon de convertir en int pour u_int8_t?

P. S.-je utiliser C sous Linux, si vous allez à suggérer une fonction standard

Ce serait considérée comme un mieux?
Il n'est pas nécessaire pour le casting. Simplement y = x; est très bien.
Nbr44, je veux dire avec une meilleure façon, c'est que si il y a un moyen standard ou de la conversion peut causer un problème et la suggestion de remplacement ne serait pas la cause de ce problème.
Même si c'est évident, être prudent sur déborde uint8_t.
Recommander y = x; au lieu de uint8_t y = x; peut introduire un bug si il y a un déjà déclaré y dans la portée.

OriginalL'auteur Johan Elmander | 2013-07-26