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

計算結果が異常である
https://www.activebasic.com/forum/viewtopic.php?t=2616
ページ 11

作成者:  HSABP [ 2010年1月28日(木) 01:39 ]
記事の件名:  計算結果が異常である

コード:
#N88BASIC
Dim a As Byte
Dim b As Long
Dim c As Long

a = 240
b = 50
c = a+b
Print c
結果が34。
期待値は290。
なぜ型の拡張規則を有効にならないのか?

作成者:  ゲスト [ 2010年2月12日(金) 15:36 ]
記事の件名: 

環境くらい書けよ

Byte型だから。
BytePtrなら290。

64bitだとByte型でも290。
AB4.24
Windows7 x64

作成者:  HSABP [ 2010年2月13日(土) 09:50 ]
記事の件名: 

BytePtrなら290。ってポインタに値いれるなんて常識では考えられんぞ
コード:
Dim a As BytePtr
Dim b As Long, c As Long
a=250
b=40
c=a+b
こんなコード書くバカがあるかw

64bitならって、Byte型の大きさが違うのか?

Byte型だからって勝ち誇ったようにいってるが、
他の型なら拡張規則が有効になるのか?え?

よく分からないんなら回答するなやボケが。

XP Win32 AB3.24.00

作成者:  konisi [ 2010年2月13日(土) 13:56 ]
記事の件名: 

コード:
#N88BASIC
Dim a As Byte
Dim b As Long
Dim c As Long

a = 240
b = 50
c = a As Long+b
Print c
とでもしてあげてください。

作成者:  HSABP [ 2010年2月13日(土) 15:54 ]
記事の件名: 

コニたんがそう言うのならしょうがないんだろうな
C=b+aなら期待する結果をだすから
最初に出た型で演算が行われるのかな

Samples\CDPlayerもこの問題で正常に動かないし。

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