ab.com コミュニティ
https://www.activebasic.com/forum/

変数を使ったべき乗計算
https://www.activebasic.com/forum/viewtopic.php?t=770
ページ 11

作成者:  ar [ 2006年2月23日(木) 21:35 ]
記事の件名:  変数を使ったべき乗計算

標記の件、ver.4.13.00および4.21.00で下記のようなプログラムを実行すると演算結果が0となります。
コード:
#N88BASIC
Dim a As Integer, b As Integer
a = 2
b = 2
Print a^b
どうやらどちらかの変数の型が2byte以下のもの(Char型、Byte型、Integer型、Word型)である場合に起こるようで、組み合わせによって例外処理やらアクセス違反やらエラーは無いけど結果がおかしかったりします。
当然ながら、二つの変数をLong型、DWord型、QWord型で宣言したり、演算時に型キャストした場合には正常に動きました。
確認願います。

ついでながら、Sqr関数内の変数2が型宣言されていないので#strictを記述したときに警告が出ます。
実用上は問題ないですが、宣言したほうが良いのでは。

作成者:  山本 [ 2006年2月24日(金) 00:57 ]
記事の件名: 

引用:
標記の件、ver.4.13.00および4.21.00で下記のようなプログラムを実行すると演算結果が0となります。
コード:
#N88BASIC
Dim a As Integer, b As Integer
a = 2
b = 2
Print a^b
どうやらどちらかの変数の型が2byte以下のもの(Char型、Byte型、Integer型、Word型)である場合に起こるようで、組み合わせによって例外処理やらアクセス違反やらエラーは無いけど結果がおかしかったりします。
当然ながら、二つの変数をLong型、DWord型、QWord型で宣言したり、演算時に型キャストした場合には正常に動きました。
確認願います。
ご報告ありがとうございます。次回のバージョンアップで修正しますので、今しばらくお待ちください。

引用:
ついでながら、Sqr関数内の変数2が型宣言されていないので#strictを記述したときに警告が出ます。
実用上は問題ないですが、宣言したほうが良いのでは。
こちらのほうも、次回のバージョンアップで修正させていただきます。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/