ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 17:02

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - 指数演算の警告
作成者 メッセージ
  記事の件名:   引用付きで返信する
御免なさい。イグトランスさんの返信、後から気付きました。僅か三十分位の差のものでしたのに。

>>整数の指数演算に関する言語の規則を決めて,警告しないようにするほうがよいと私も思います。

ver.5 では改善されている事を願います。現状は、仕様と認識して置きます。

イグトランスさん、申し訳在りませんでした。有難う御座いました。
投稿記事 Posted: 2008年3月28日(金) 17:32
  記事の件名:   引用付きで返信する
konisi さん、今日は。今回も返信有難う御座います。

パッと見て解るものではないようですので、とりあえずお礼のみで。

有難う御座いました。
投稿記事 Posted: 2008年3月28日(金) 17:22
  記事の件名:   引用付きで返信する
確かbasic/function.sbp内の関数powの仕様の関係でDouble型を返すことになってたはずです。(コンパイラ側の仕様で必ず内包される関数のひとつの筈。)
グローバル領域でのオーバーロードができれば対処できるかもしれません。
どちらにしても4.24だと無理だった気がするんですが。

具体的にはを定義(オーバーロード)する必要があるわけです。
直接書き換えるとDouble型の演算がうまくいかなくなると思うのでやめておいてください。

#Fixとかは組み込むのにこいつを組み込まないのはどうしてなんでしょうねぇ・・・。
投稿記事 Posted: 2008年3月25日(火) 21:45
  記事の件名:   引用付きで返信する
たしかに警告は不自然に感じますね。整数の指数演算に関する言語の規則を決めて,警告しないようにするほうがよいと私も思います。
今の挙動がどうしてそうなのかということは山本さんでないとわからないです……。
投稿記事 Posted: 2008年3月25日(火) 17:55
  記事の件名:   引用付きで返信する
使用バージョンは 4.24.00 です。
投稿記事 Posted: 2008年3月25日(火) 17:21
  記事の件名:  指数演算の警告  引用付きで返信する
何処に書き込むか迷いましたが、ここに。

DWordNum1 = 10 ^ DWordNum2

上記の様な指数演算にて、

[警告] DoubleからDWordに強制変換されています。データが失われる可能性があります。

と出ますが、DWord 型 とリテラル値のみの演算で上記の様な警告が出るのは、そういうものなのですか。内部の演算が Double 型で扱われている様な話は聞いていますが、プログラマーから見た場合、明らかに DWord 型 の演算なのに警告が出るのはチョット変な気がします。恐らく、DWord 型 のレベルで失われるデータは、&hFFFFFFFF を超えた場合、0 を下回った場合以外は無いのではと思います。その点に関しては、DWord 型 とリテラル値の加減算でも同じで、そちらは警告が出ませんよね。

バグではなく、警告としなければ為らない理由が在るのでしたら、教えて頂けますか。
投稿記事 Posted: 2008年3月24日(月) 18:50

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean