質問するログイン新規登録

回答編集履歴

1

一部説明追加

2019/10/12 23:55

投稿

thkana
thkana

スコア7781

answer CHANGED
@@ -14,7 +14,9 @@
14
14
  > 計算を簡単にする為
15
15
 
16
16
  標準で提供されるような関数は十分に「揉まれて」いて、特別な条件下でなければ小手先の対策で高速になったりはなかなかしません...それで計算が簡単になるかというとちょっと疑問な点がありますが、とにかくその方針で計算するなら、
17
- 途中のwは整数の範囲に収まらない可能性があります(aの1/2乗が出てくるので)。wを浮動小数点型にする必要があるでしょう。
17
+ 途中のwは整数の範囲に収まらない可能性があります(aの1/2乗が出てくるので)。wを浮動小数点型にする必要があるでしょう。そうすると、関数の戻りの型がintでここが同様の不整合になりますから、戻す時に
18
+ `return (int)(w*w);`
19
+ などと明示的にintに変換してやる必要がでてきます。
18
20
 
19
21
  ---
20
22
  ついでに別件と言うか、むしろこちらの方が重要かも知れませんが...