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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。 3 2023/01/29 22:13
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三角比の俯角の計算
-
O(n log n)について2
-
三菱シーケンサ(Aシリーズ)で...
-
有効数字について 以前質問をし...
-
計算の丸め誤差の解消について
-
スーパーコンピュータの処理速...
-
CRCの計算方法について
-
除算を使わずに10で割りたい。
-
verilog ALU
-
C++の打切り誤差についてお聞き...
-
floatの有効桁数がわからない
-
double型からfloat型への型変換...
-
VisualBasic6.0 SP5 のおもしろ...
-
VBAでの割り算の余りの求め方
-
配列の要素数について
-
100桁の計算ができなくて困って...
-
【C++】double の計算結果がお...
-
チェックデジットについて
-
2038年問題 日付算出
-
巨大な階乗の桁数を求めるプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
三角比の俯角の計算
-
c languageで 簡単な質問があ...
-
16進数 加算 減算 C言語
-
ExcelでPC(パソコン)によって...
-
VB.net Double と...
-
”/”を使わずに割り算したいんで...
-
ExcelのINT関数の計算結果がお...
-
有効数字について 以前質問をし...
-
floatの有効桁数
-
三菱シーケンサ(Aシリーズ)で...
-
距離から緯度経度を求める方法
-
VBAでミリ秒まで出力する方法
-
EXCELの関数"STDEV(標準偏差)"...
-
除算を使わずに10で割りたい。
-
C言語プログラミングにて、arct...
-
VB6.0での小数点の扱いについて
-
VBAでの割り算の余りの求め方
-
255の2の補数、B'00000001'が-...
-
変換指定子%22-16gの表示...
おすすめ情報