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
に変換されます。