代入演算子に関するバグとQWord型の表示に関するバグ

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

代入演算子に関するバグとQWord型の表示に関するバグ

#1 投稿記事 by konisi »

ふと思いついて試してみたら見つかったものを報告します。
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)
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
三毛CAT

Qword型

#2 投稿記事 by 三毛CAT »

自分も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

代入演算子に関するバグとQWord型の表示に関するバグ

#3 投稿記事 by MonkeyTake »

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

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

#4 投稿記事 by ヒィー(((゚Д゚))) »

コード: 全て選択

#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になりますが。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#5 投稿記事 by イグトランス »

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

QWord→Doubleの変換の問題は解消されていなかったと思いますが、Printで期待通りの出力にならないという点は現時点のAB5でも解消済みだったはずです。いつ出せるか分からないという状況で申し訳ありません。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#6 投稿記事 by konisi »

ヒィー(((゚Д゚))) さんが書きました:一つ目は6になりますが。
今手元のマシンにあるAB4.23で試したところやはり4になりました。
そちらの環境を教えてくださいな。

OS:WinXPPro SP3 32bit
CPU:Core2Duo 2GHz
MEM:1.72GiB認識
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ヒィー(((゚Д゚)))

#7 投稿記事 by ヒィー(((゚Д゚))) »

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

バイナリとコードをアップ。
http://77c.org/d.php?f=nk13160.zip
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#8 投稿記事 by konisi »

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

直ったんですねぇ。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
返信する