ページ 11

計算結果が異常である

Posted: 2010年1月28日(木) 01:39
by HSABP

コード: 全て選択


#N88BASIC
Dim a As Byte
Dim b As Long
Dim c As Long

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

Posted: 2010年2月12日(金) 15:36
by ゲスト
環境くらい書けよ

Byte型だから。
BytePtrなら290。

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

Posted: 2010年2月13日(土) 09:50
by HSABP
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

Posted: 2010年2月13日(土) 13:56
by konisi

コード: 全て選択

#N88BASIC
Dim a As Byte
Dim b As Long
Dim c As Long

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

Posted: 2010年2月13日(土) 15:54
by HSABP
コニたんがそう言うのならしょうがないんだろうな
C=b+aなら期待する結果をだすから
最初に出た型で演算が行われるのかな

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