プロが教える店舗&オフィスのセキュリティ対策術

SingleとDoubleともに、整数部分の範囲についてはどのように
考えればよいのでしょうか?例えば、小数点以下4桁までを正確
に計算できれば良く、変数の値が 54321.**** となる場合は
Singleで良いのでしょうか?
SingleとDoubleで対応できる、整数部分の範囲を教えてください。
お手数ですが、よろしくお願いします。

A 回答 (5件)

single 単精度 (-999999. ~ 999999.)


double 倍精度 (-9999999999999999. ~ 9999999999999999.)

簡単に言えば
singleの場合は小数点以下6桁まで
doubleの場合は小数点以下14桁まで

>小数点以下4桁までを正確
との事ですので、singleで十分かと思われます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/05/09 15:46

有効桁数で考える必要があります。

Singleの有効桁数は7桁(内部的には9桁)で、負の値は -3.4028235E+38 ~ -1.401298E-45、正の値は 1.401298E-45 ~ 3.4028235E+38 の範囲の値をとります。
http://msdn2.microsoft.com/ja-jp/library/xay7978 …

54321.1234 = 5.43211234E+4
になり、有効桁数は9桁あります。この場合はDoubleでないと小数点以下7,8桁目は桁落ちします。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/05/09 15:47

小数点以下下4桁まで精度が必要でしたら通貨型を使いましょう。


イミディエイトウィンドウで
?1.2*10-12
?1.2#*10-12
?1.2@*10-12
の結果を確かめてください

詳しくはこちら↓
第4回 演算誤差の正体
http://pc.nikkeibp.co.jp/pc21/special/gosa/eg4.s …
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/05/09 15:48

Singleの場合の有効数字は7桁くらいです



>54321.****

だと、9桁有りますので、Doubleでないと、精度が出ないと思われます

>SingleとDoubleで対応できる、整数部分の範囲

有効数字(整数部と小数部を合わせた全桁数)が
Single=7桁弱
Double=16桁弱
    • good
    • 3
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/05/09 15:49

こんにちは。



理屈では、Single ですが、私は、面倒なことを考えずに、Excelの場合は、セルの数字は、全部、Double型ですから、それに合わせて、Double 型にしてしまいますね。考えていたらキリがありませんからね。

もちろん、内容にもよります。最終出力で、小数点第4位までなら、1000倍して計算して、1000で割ればよいです。

小数のままで演算(足し算、掛け算を含めます)するときは、#3 さんの書かれている、Currency 型です。
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/05/09 15:49

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