算術変換と整数の昇格

算術変換
2項演算子に異なる型のオペランドを指定した場合、「精度の高い」ほうに型を揃えてから演算が行われる。
制度の高い順に
long double>double>float>unsigned long>long>unsigned int>int
となる。
※longとunsigned intの場合はunsigned longになる。

整数の昇格
int型よりもサイズの小さい整数は、演算の前に無条件に符号付int型に変換される。

原則

・ビットフラグなど、ビット単位の情報が重要なものは
符号無し整数にする。
・配列の要素数が多いなど、サイズが重要な場合には
できるだけ小さいデータ型にする。
・さもなければint


何かの個数や人の年齢といった値は負になる事が無い為、符号無し整数にしたくなるかも知れません。
しかし、こうした変数はintにしておく事で、余計な型変換を防ぐ事ができます。
また、charやshortを使用すると、整数の昇格によって余計な変換が発生する分だけ遅くなります。
C > 演算 | comments (0) | trackbacks (0)

Comments

Comment Form

icons:

Trackbacks