ゼロ除算には気をつけているが、そうでない除算も未定義動作になるケースがあることに気付かされた。
例えば16ビット符号付き整数型の最小値 -32768 を -1 で除算すると、オーバーフローしてしまう。
普通に算数をすると 32768 になるのだが、最大値は 32767 なので、これはオーバーフローになる。
符号付き整数のオーバーフローは未定義だ。
参考にしました。
rsk0315.hatenablog.com
ゼロ除算には気をつけているが、そうでない除算も未定義動作になるケースがあることに気付かされた。
例えば16ビット符号付き整数型の最小値 -32768 を -1 で除算すると、オーバーフローしてしまう。
普通に算数をすると 32768 になるのだが、最大値は 32767 なので、これはオーバーフローになる。
符号付き整数のオーバーフローは未定義だ。