C言語なら俺に聞け! Part 115
■ このスレッドは過去ログ倉庫に格納されています
0762デフォルトの名無しさん
2005/10/13(木) 17:57:29となると、少し面倒だな。
x も y も正の場合はオーバーフローの可能性がある。
x も y も負の場合はアンダーフローの可能性がある。
両方で符号が違う場合は、どちらの可能性もない(2値の間の値になるから)。
x も y も正の場合、オーバーフローを抑制する必要があるが、
x + y > 最大値 ? 最大値 : x + y
のようにすることはできない。
なぜなら、最大値を超えるとオーバーフローするから、
x + y > 最大値 という条件式はあり得ない。
なら、移項すればいい。
同じようにして、負の場合も
x + y < 最小値 ? 最小値 : x + y
とできないから、移項すればいい。
■ このスレッドは過去ログ倉庫に格納されています