私は16ビット固定小数点プロセッサを持っており、固定小数点処理をしたいのです。私は、符号なし16ビット整数に使用する正しいデータ型を探しています。固定小数点処理:uint16_tとuint_fast16_tの違いは何ですか?
私の質問はuint16_t
とuint_fast16_t
の違いは何ですか? (これらはstdint.h
に含まれています)uint_fast16_t
はより速いので、より良いですか?
ありがとうございます!
私は16ビット固定小数点プロセッサを持っており、固定小数点処理をしたいのです。私は、符号なし16ビット整数に使用する正しいデータ型を探しています。固定小数点処理:uint16_tとuint_fast16_tの違いは何ですか?
私の質問はuint16_t
とuint_fast16_t
の違いは何ですか? (これらはstdint.h
に含まれています)uint_fast16_t
はより速いので、より良いですか?
ありがとうございます!
uint16_t
は、符号なし16ビット整数です。 uint_fast16_t
は、少なくとも16ビットの最速の利用可能な符号なし整数です。
"最速"を定義できると答えがより役立つでしょう。 –
気にしないでください: "標準では、幅がNより大きくなければならないという点を除いて、これらの型について何も規定していません。また、"高速 "整数型の意味を決定するために実装者に任せます。 –
面白いことに、このデータ型にはサイズが指定されていないと奇妙なことがあります。それはユーザーの責任です。o_oこのデータ型にsizeof()を実行すると、エラーが発生しますか?いずれにせよ、私はuint_fast16_tが私に当てはまるとは思わない。固定小数点演算のデータ型としてuint16_tに固執します。 :)ありがとう... –
uint16_t
は、uint_fast16_t
およびuint_least16_t
よりも制限的です。後の2つは16ビットよりも広いだけでなく、パディングビット(パリティビットなどの値を考慮しないビット)を持つこともできます。
この違いは、署名されたタイプでさらに顕著です。ここでは正確な幅のタイプはは負の値を表すために2の補数を使用する必要があります。
http://en.wikipedia.org/wiki/Stdint.h#Integer_types – kennytm