
No.3ベストアンサー
- 回答日時:
はじめまして
先に回答された方々と重なるところはありますが、
1.コンピュータで扱える桁数は有限なので0.333…と延々と続く少数を正確に表すことは出来ない。
2.(1と重なりますが)コンピュータで使われている2進数では10進数の少数を正確に表すことは出来ない。
ことが原因です。
実用上、“倍精度”の15桁の精度を必要するという場面はそうそう無いので小数点以下の多少の違いは気にする必要はありません。科学の分野では15桁の精度で測定することは超々々々々…(“超”をいくつくけていいのか想像も付きません)の精密測定になります。日本の1年分の予算を1円単位まで正確に把握するには厳しいですが。
No.4
- 回答日時:
まずは、有限桁数の十進数(小数含む)では、10の累乗(マイナス乗含む)の和で表せる数しか正確に表せないのはわかるでしょう。
例としては、108.25は、10の2乗、10のゼロ乗、10のマイナス1乗、10のマイナス2乗をそれぞれ、1,8,2,5個足した物になります。
また1/3は十進小数有限桁で表現できません。
同じように有限桁の二進数では、2の累乗の和で表せる数しか正確に表せません。
1.25=(2^0)+(2^-2)
おなじように1/3は二進小数有限桁で表現できません。
三進数なら1/3を正確に表現できるのですが。
コンピュータ内部では通常は二進数有限桁で数を表現します(一部では十進数有限桁で表すケースも)。
doubleだと、64桁の二進数ですがそのうち有効桁数を表す仮数部という部分は53桁で、これは十進数で言うと約16桁に当たります。
(log2/log10)*53=15.95…
あと初心者が勘違いしやすい点を挙げると、
0.1 も二進小数有限桁で正確に表現できないので、0.1を十回足しても1にはなりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
有効数字について 以前質問をし...
-
float型の精度(有効桁と実数)...
-
ExcelのINT関数の計算結果がお...
-
VB.net Double と...
-
fortranでx=1としても0.9..が入る
-
c languageで 簡単な質問があ...
-
10次の多項式を求めるプログラ...
-
色の判定
-
4096bitを95種類で表現すると何...
-
ExcelでPC(パソコン)によって...
-
三菱シーケンサ(Aシリーズ)で...
-
PICマイコンのアセンブラについて
-
どんな数字を入力してもaverage...
-
CASLIIの質問です。
-
最大50桁の実数の和・差・積を...
-
最早開始時間と最遅完了時刻を...
-
信頼区間の1.96や1.65ってどこ...
-
Aの値からBの値を除するとは??
-
strncpyと_tcsncpy_sのヌルの扱...
-
プログラムでの数字につく”f”の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
有効数字について 以前質問をし...
-
c languageで 簡単な質問があ...
-
EXCELの関数"STDEV(標準偏差)"...
-
ExcelでPC(パソコン)によって...
-
三菱シーケンサ(Aシリーズ)で...
-
floatの有効桁数
-
255の2の補数、B'00000001'が-...
-
O(n log n)について2
-
符号誤り率の計算は例題でどの...
-
CRCの計算方法について
-
VB.net Double と...
-
コンピューターは指数関数をど...
-
16進数 加算 減算 C言語
-
ExcelのINT関数の計算結果がお...
-
C言語でセルオートマトンを作成...
-
BCD・HEX・BINについて
-
”/”を使わずに割り算したいんで...
-
三角比の俯角の計算
-
除算を使わずに10で割りたい。
-
VBAでミリ秒まで出力する方法
おすすめ情報