このページについて
 
このページは、mura's homeAutoCAD掲示板 で、当方の発言(書込み)がある以下の掲示板の内容です。
http://www.mura.sh/bbs/wwwbbs.cgi?print+200711/07110061.txt
 
タイトルおよび質問内容は上記より引用しています。
 
引用した質問内容は、バックカラーが

   

となっています。
 
当方の発言は、バックカラーが

   

となっています。
 
その他の著作権者の掲載許可を得ていない発言内容は削除(リンクを除く)しています
 
また、当方では、削除部分の正当な著作権保持者を判断出来ませんので、
ご連絡を頂いても、復活させることは出来ません。ご了承下さい。
 
 
掲示板の著作権について
 
掲示板への匿名の書き込みであっても、著作権(著作権法)で保護されています。
また、判例(確定した判決)もあります。
 
裁判所 判例検索システム

ホテルジャンキーズ事件

知的財産裁判例
知的財産裁判例
平成13(ワ)22066  著作権 民事訴訟
平成14年04月15日 東京地方裁判所
全文 控訴
付帯控訴
知的財産裁判例
知的財産裁判例
平成14(ネ)2887  著作権 民事訴訟
平成14年10月29日 東京高等裁判所
全文 確定

ただし、あらかじめ取り決めがある場合は、その取り決めが優先します
 ※たとえば、OKWave の掲示板 (利用規約/第10条(投稿内容の利用権))

 
 
 

倍精度浮動小数点数型について

kamegai [HOMEPAGE] 2007/11/12(月) 13:57:02

AutoCAD 2000iに搭載されているVBAのヘルプによれば、
倍精度浮動小数点数型の正の値の最大値は、1.79769313486232E308。

しかし、2000iの統合開発環境(IDE)に
Public Sub TEST()
    Dim TMP As Double
    TMP = 1.79769313486232E308
    MsgBox TMP, vbOKOnly, "TEST"
End Sub

と入力すると、"TMP = "の行がエラー(赤字)、
それを無視してでも実行すると”コンパイルエラー(構文エラー)”となります。
ちなみに"TMP = 1.79769313486231E308"ならばエラーになりません。
Excel 2000 のVBAでも同様です。

どうやら、
1.79769313486231570E+308 の小数点15桁目の5を四捨五入して"・・・2E308"と表現しているようですが、
"1.79769313486232E308"ならエラーな訳ですから、"・・・〜1.79769313486231E308"と表記してほしい
と思うのは私だけ?

インターネット上で検索する限りどちらの表現もあるようで・・・、でも"・・・1E308"は少数派。
microsoftさんからして両者あるようで
http://search.microsoft.com/results.aspx?mkt=ja-JP&setlang=ja-JP&q=1.79769313486232E308
1.79769313486231E308
http://search.microsoft.com/results.aspx?mkt=ja-JP&setlang=ja-JP&q=1.79769313486231E308

重箱の隅な話ですいません。
IEEEの決まりにはなんて書いてあるのでしょう?

kamegai [HOMEPAGE] 2007/11/12(月) 14:14:09

再度確認すると、以下の内容を貼り付けるとエラーにならない事が分かりました。
Public Sub TEST()
    Dim TMP As Double
    TMP = 1.79769313486231570E+308
    MsgBox TMP, vbOKOnly, "TEST"
End Sub

ただし、"TMP = ・・・1570E+308"の行は"TMP = ・・・2E308"に置き換わりますが、
エラーにはなりませんし、実行できます。なぜ???

kamegai [HOMEPAGE] 2007/11/12(月) 14:20:25

さらに確認。以下の内容を貼り付けると・・・
Public Sub TEST()
    Dim TMP1 As Double
    Dim TMP2 As Double
    TMP1 = 1.79769313486232E+308
    TMP2 = 1.79769313486231570E+308
    MsgBox TMP, vbOKOnly, "TEST"
End Sub


当方の環境だと、TMP1はエラー。
TMP2は"TMP = ・・・2E+308"に置き換わりますが、エラーにならず。なぜ???

kamegai [HOMEPAGE] 2007/11/12(月) 14:33:51

MsgBoxの行を訂正しようと、再度書き込むけど
”不正なデータが入力されています。”でエラーとなります。

なので訂正出来ません。
で、上記のMsgBoxの行は、
"MsgBox TMP1・・・"か"MsgBox TMP2・・・"と読替てください。

ひらぽん [HOMEPAGE] 2007/11/12(月) 14:50:18

著作権者の許可を得ていないため削除
 
 
 
 
 
 
http://ja.wikipedia.org/wiki/指数表記

kamegai [HOMEPAGE] 2007/11/12(月) 15:06:06

ひらぽんさん、すいませんお手数かけます。
いつも掲示板をこっそり拝見しています。

で、訂正。正しくは、"TMP = ・・・2E+308"に置き換わりますが、"でした。
書き込み後に"+"抜けの間違いに気づいたのですが、そういうことではない?
え!私、とんでもない勘違いしてます?

ちなみに再度、
Public Sub TEST()
    Dim TMP As Double
    TMP = 1.79769313486231570E+308
    MsgBox TMP, vbOKOnly, "TEST"
End Sub

を貼り付けると、
Public Sub TEST()
    Dim TMP As Double
    TMP = 1.79769313486232E+308
    MsgBox TMP, vbOKOnly, "TEST"
End Sub

となって、実行できます。
そういうことではなくて・・・でしょうか?

ひらぽん [HOMEPAGE] 2007/11/12(月) 15:14:23

著作権者の許可を得ていないため削除
 
 
 
 
 
 
 
 
 
 
 
 
 

ひらぽん [HOMEPAGE] 2007/11/12(月) 15:21:46

著作権者の許可を得ていないため削除
 
 
 
 
 
 
 
 
 
 
 
 

kamegai [HOMEPAGE] 2007/11/12(月) 15:45:51

つまらないことにおつき合い下さりすいません。

実用上の話ではありません。
実務では関係ない話かもしれませんが、AutoCADで扱える座標の範囲を
調べていて気になったので。まだ公開するほど内容がありませんが・・・
http://www.geocities.jp/error_in_autocad/200711110956/200711110956.htm

さらに参考まで ' 以下は当方の環境でのIDE自動置換えの結果
Public Sub TEST()
    Dim TMP01 As Double
    Dim TMP02 As Double
    Dim TMP03 As Double
    Dim TMP04 As Double
    Dim TMP05 As Double
    Dim TMP06 As Double
    Dim TMP07 As Double
    Dim TMP08 As Double
    Dim TMP09 As Double
    Dim TMP10 As Double
    Dim TMP11 As Double
    Dim TMP12 As Double
    Dim TMP13 As Double
    Dim TMP14 As Double
    Dim TMP15 As Double
    TMP01 = 1.79769313486232E+308      '・・・2E+308    ERR
    TMP02 = 1.79769313486231570E+308   '・・・1570E+308 -> 2E+308 OK
    TMP03 = 1.79769313486231571E+308   '・・・1571E+308 -> 2E+308 OK
    TMP04 = 1.79769313486231572E+308   '・・・1572E+308 -> 2E+308 OK
    TMP05 = 1.79769313486231573E+308   '・・・1573E+308 -> 2E+308 OK
    TMP06 = 1.79769313486231574E+308   '・・・1574E+308 -> 2E+308 OK
    TMP07 = 1.79769313486231575E+308   '・・・1575E+308 -> 2E+308 OK
    TMP08 = 1.79769313486231576E+308   '・・・1576E+308 -> 2E+308 OK
    TMP09 = 1.79769313486231577E+308   '・・・1577E+308 -> 2E+308 OK
    TMP10 = 1.79769313486231578E+308   '・・・1578E+308 -> 2E+308 OK
    TMP11 = 1.79769313486231579E+308   '・・・1579E+308 -> 2E+308 OK
    TMP12 = 1.79769313486231580E+308   '・・・1580E+308 -> 2E+308 OK
    TMP13 = 1.79769313486231581E+308   '・・・1581E+308 ERR
    TMP14 = 1.79769313486231582E+308   '・・・1582E+308 ERR
    TMP15 = 1.79769313486231583E+308   '・・・1583E+308 ERR
End Sub
 

ひまじん 2007/11/17(土) 22:07:32

著作権者の許可を得ていないため削除