ab.com コミュニティ

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

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




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

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

トピックのレビュー - 代入演算子に関するバグとQWord型の表示に関するバグ
作成者 メッセージ
  記事の件名:   引用付きで返信する
今AB4.24を落とし直してコンパイルしたところ、確かに6になってました。

直ったんですねぇ。
投稿記事 Posted: 2010年3月14日(日) 05:13
  記事の件名:   引用付きで返信する
AB4.24.00
OS:WinXPPro SP3 32bit
CPU:Core2Duo 3GHz
MEM:3.25GiB認識

バイナリとコードをアップ。
http://77c.org/d.php?f=nk13160.zip
投稿記事 Posted: 2010年3月10日(水) 16:09
  記事の件名:   引用付きで返信する
引用:
一つ目は6になりますが。
今手元のマシンにあるAB4.23で試したところやはり4になりました。
そちらの環境を教えてくださいな。

OS:WinXPPro SP3 32bit
CPU:Core2Duo 2GHz
MEM:1.72GiB認識
投稿記事 Posted: 2010年3月10日(水) 15:23
  記事の件名:   引用付きで返信する
QWordのほうですが、直接の原因はPrintの数値出力がDouble型しか受け付けないことにあります。
さらに、x86 FPUの命令にQWord→Doubleという変換が用意されておらず、ABコンパイラがQWord→Doubleの変換にInt64→Doubleの変換命令を用いていることで、あのような出力となってしまっています。

QWord→Doubleの変換の問題は解消されていなかったと思いますが、Printで期待通りの出力にならないという点は現時点のAB5でも解消済みだったはずです。いつ出せるか分からないという状況で申し訳ありません。
投稿記事 Posted: 2010年3月07日(日) 00:06
  記事の件名:   引用付きで返信する
コード:
#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になりますが。
投稿記事 Posted: 2010年3月06日(土) 20:32
  記事の件名:  代入演算子に関するバグとQWord型の表示に関するバグ  引用付きで返信する
最近AB4.24を使い始めておかしいな・・・とずっと悩んでいたら
代入演算子のバグですか・・・

AB4.24が出たのは2006/4/8ですが
こんな超基本的な事のバグがずっと放置されてるなんて・・・
投稿記事 Posted: 2010年3月06日(土) 07:17
  記事の件名:  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
投稿記事 Posted: 2008年7月11日(金) 08:02
  記事の件名:  代入演算子に関するバグと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)
投稿記事 Posted: 2008年6月27日(金) 18:08

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


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