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

代入演算子に関するバグとQWord型の表示に関するバグ
https://www.activebasic.com/forum/viewtopic.php?t=2419
ページ 11

作成者:  konisi [ 2008年6月27日(金) 18:08 ]
記事の件名:  代入演算子に関するバグとQWord型の表示に関するバグ

ふと思いついて試してみたら見つかったものを報告します。
AB423とAB424で誤動作を確認しました。
コード:
#console
Dim a As Long
a=2
a*=1+2
Print a'6と表示してほしいが、4と表示される

Dim b As QWord
b=12345678901234567890'<2^64=18446744073709551616
Print b'12345678901234567890と表示される筈だが、負の数が表示される

Sleep(-1)

作成者:  三毛CAT [ 2008年7月11日(金) 08:02 ]
記事の件名:  Qword型

自分もQword型に付いては気になったので試してみました。(この書き込みを見る前に)
他の符号なし整数型は普通に動くのですけどね...。
コード:
#N88BASIC
Dim a As Qword
Dim b As Int64
Dim c As Char
Dim d As Byte
Dim e As Integer
Dim f As Word
Dim g As Long
Dim h As Dword
a=18446744073709550000
b=18446744073709550000
c=250
d=250
e=65500
f=65500
g=4294967000
h=4294967000
Print "↓Qword"
Print a
Print "↓Int64"
Print b
Print "↓Char"
Print c
Print "↓Byte"
Print d
Print "↓Integer"
Print e
Print "↓Word"
Print f
Print "↓Long"
Print g
Print "↓Dword"
Print h

作成者:  MonkeyTake [ 2010年3月06日(土) 07:17 ]
記事の件名:  代入演算子に関するバグとQWord型の表示に関するバグ

最近AB4.24を使い始めておかしいな・・・とずっと悩んでいたら
代入演算子のバグですか・・・

AB4.24が出たのは2006/4/8ですが
こんな超基本的な事のバグがずっと放置されてるなんて・・・

作成者:  ヒィー(((゚Д゚))) [ 2010年3月06日(土) 20:32 ]
記事の件名: 

コード:
#console
Dim a As Long
a=2
a*=1+2
Print a'6と表示してほしいが、4と表示される

Dim b As QWord
b=12345678901234567890'<2^64=18446744073709551616
Print b'12345678901234567890と表示される筈だが、負の数が表示される

Sleep(-1)
一つ目は6になりますが。

作成者:  イグトランス [ 2010年3月07日(日) 00:06 ]
記事の件名: 

QWordのほうですが、直接の原因はPrintの数値出力がDouble型しか受け付けないことにあります。
さらに、x86 FPUの命令にQWord→Doubleという変換が用意されておらず、ABコンパイラがQWord→Doubleの変換にInt64→Doubleの変換命令を用いていることで、あのような出力となってしまっています。

QWord→Doubleの変換の問題は解消されていなかったと思いますが、Printで期待通りの出力にならないという点は現時点のAB5でも解消済みだったはずです。いつ出せるか分からないという状況で申し訳ありません。

作成者:  konisi [ 2010年3月10日(水) 15:23 ]
記事の件名: 

引用:
一つ目は6になりますが。
今手元のマシンにあるAB4.23で試したところやはり4になりました。
そちらの環境を教えてくださいな。

OS:WinXPPro SP3 32bit
CPU:Core2Duo 2GHz
MEM:1.72GiB認識

作成者:  ヒィー(((゚Д゚))) [ 2010年3月10日(水) 16:09 ]
記事の件名: 

AB4.24.00
OS:WinXPPro SP3 32bit
CPU:Core2Duo 3GHz
MEM:3.25GiB認識

バイナリとコードをアップ。
http://77c.org/d.php?f=nk13160.zip

作成者:  konisi [ 2010年3月14日(日) 05:13 ]
記事の件名: 

今AB4.24を落とし直してコンパイルしたところ、確かに6になってました。

直ったんですねぇ。

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