いちばん失敗した人決定戦

Accessのテーブルで、フィールドサイズに[単精度浮動少数型]を設定して、そのフィールドを使って、クエリで演算フィールドを作成します。
単純な引き算でも、びっくりするくらい小数点以下の桁が表示されるのですが、どうしてなのでしょう?

[単精度浮動少数型]より[倍精度浮動少数型]を使用したほうがよいと聞きましたが、設定の桁数の違い以外に、理由があるのでしょうか?

Access初心者にも理解できるよう、ご解答いただけますでしょうか。

WindwosXP,Access2002を使用しております。

A 回答 (2件)

>単純な引き算でも、びっくりするくらい小数点以下の桁が表示されるのですが、


>どうしてなのでしょう?
内部では10進数ではなく2進数で値を保持したり演算したりします。
そのため10進数を正確に表すことができず誤差が発生しますので
その様になりますが、Accessで小数を扱う場合は避けられません。
桁数を制限するには、フィールドの設定で、
・書式: 固定
・小数点以下の桁数: 1 (小数点1桁の場合)
のように設定してください。

>[単精度浮動少数型]より[倍精度浮動少数型]を使用したほうがよいと聞きましたが
最初の問題とは直接関係しませんが、[単精度浮動少数型]より[倍精度浮動少数型]の
方が有効桁数や値の範囲が大きくなります。こちらをご覧ください。
http://homepage2.nifty.com/inform/vbdb/data_acce …

参考URL:http://homepage2.nifty.com/inform/vbdb/data_acce …
    • good
    • 0
この回答へのお礼

ありがとうございます。
2進数が使われていることは知っていても、操作結果と結びつけて考えることができなくては、意味がありませんね。
勉強になりました。

お礼日時:2003/09/22 02:03

>単純な引き算でも、びっくりするくらい小数点以下の桁が表示されるのですが


多分質問者は文系で浮動小数点表示について、実感しておられないような感じが推定されます。
事務系の場合は必要が少ないですが、科学技術系のデータ処理(計算)では必須・根本であるようです。
浮動小数点演算の高速処理に特化した演算装置開発もコンピュター界の大テーマのようです。
WEBで「浮動小数点」「浮動小数点表示」「仮数部」
「指数部」「IEEE754」「IBM形式」などで照会すれば、沢山出ますので、拾い読みをされては。
なお「浮動少数(点)」は「浮動小数(点)」ですからWEB照会ではご注意を。(私もうっかり間違いました)
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2003/09/22 02:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!