回答編集履歴
2
追記
test
CHANGED
@@ -9,3 +9,11 @@
|
|
9
9
|
信じがたいと思いますが`(32767*2)=-2`となってしまう処理系が多く、`10/(32767*2)=-5`となるものがあります。`10/32767/2=0`なので結果が異なります。
|
10
10
|
|
11
11
|
今でもint型だけの演算で、int型の上限を超える計算をさせると同じような問題が起きます。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
---
|
16
|
+
|
17
|
+
【追記】
|
18
|
+
|
19
|
+
げっ、タブがRubyに変わっちゃいました。私が回答した時はプログラミング言語だったので許してください。
|
1
表現修正
test
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
CやC++言語のように整数型演算のオーバーフローを無視するような言語ですと、常に真にはなりません。
|
5
|
+
CやC++言語のように整数型演算のオーバーフローを無視するような言語ですと、常に真にはなりません。
|
6
6
|
|
7
7
|
今は少ないですが、整数型(int)が`-32768~32767`の範囲しか表現できない処理系だった場合、
|
8
8
|
|
9
|
-
|
9
|
+
信じがたいと思いますが`(32767*2)=-2`となってしまう処理系が多く、`10/(32767*2)=-5`となるものがあります。`10/32767/2=0`なので結果が異なります。
|
10
10
|
|
11
11
|
今でもint型だけの演算で、int型の上限を超える計算をさせると同じような問題が起きます。
|