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

回答編集履歴

1

typo

2017/06/29 06:04

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  この問題に対処できる`有効数字 x 10のn乗`と言う表現を[数学で習う](http://media.qikeru.me/%E6%9C%89%E5%8A%B9%E6%95%B0%E5%AD%97%E8%A8%88%E7%AE%97/)と思います。その表現をコンピュータの通常の文字で表現したものが、`1.12043e+015`です。
11
11
 
12
- double型の一般的な有効桁数は10進数の場合、概ね16桁ですので、この範囲に限定することで10の指数表現にしないことが狙えます。例えばデフォルト値を`min=-9999999999999999`、max='9999999999999999`にするなど。
12
+ double型の一般的な有効桁数は10進数の場合、概ね16桁ですので、この範囲に限定することで10の指数表現にしないことが狙えます。例えばデフォルト値を`min=-9999999999999999`、`max=9999999999999999`にするなど。
13
13
 
14
14
  しかし、std::streamの標準では16桁もの有効数字を表示しませんので、16桁の精度で表示するよう指示することで指数表現させないことが可能です。<iomanip>にあるstd::setprecision()を使います。
15
15
 
@@ -29,4 +29,4 @@
29
29
 
30
30
  > ちゃんとした引数を与えて ( ただし min != maxであること。例えば、(0.53, 100.35) 等。 ) やってみると、
31
31
 
32
- この場合は、minとmaxが`min=-9999999999999999`、max='9999999999999999`の範囲に入り、かつ、std::ostreamのデフォルトの有効桁数(たぶん6桁)に入っているので指数表現にならなかっただけです。
32
+ この場合は、minとmaxが`min=-9999999999999999`、`max=9999999999999999`の範囲に入り、かつ、std::ostreamのデフォルトの有効桁数(たぶん6桁)に入っているので指数表現にならなかっただけです。