首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

long 类型的疑惑~该如何解决

2012-05-16 
long 类型的疑惑~长整型(Long)长整型用4个字节存储,取值范围是-2147483648到+2147483647。为什么我用long 2

long 类型的疑惑~

长整型(Long) 
长整型用4个字节存储,取值范围是-2147483648到+2147483647。 


为什么我用long 200*500就会溢出呢?
但是我直接写 shuzi=999999999 都没问题 保存个200*500就出溢出


代码如下
运行结果 实时错误6 溢出

VB code
Private Sub Command1_Click()Dim shuzi As Longshuzi = 200 * 500End Sub


[解决办法]
VB code
Private Sub Command1_Click()    Dim shuzi As Long    Dim a As Long    a = 200    shuzi = a * 500End Sub
[解决办法]
VAR = V1*V2*v3*Vn....,计算V1*V2时,结果保存在V1所用的存储器里,改为shuzi = CLng(200) * 500 即可解决问题。

[解决办法]
探讨
引用:

VB code
Private Sub Command1_Click()
Dim shuzi As Long
Dim a As Long
a = 200
shuzi = a * 500
End Sub



或:
VB code
Private Sub Command1_Click()
Dim shuzi As Long
shuzi = ………

[解决办法]
dim a as long 

a=200& * 500 '计算时,需要创建临时变量,如果没有指明,则会按Integer类型创建
[解决办法]
问题很简单,200*500默认是Integer类型,超过上限,溢出

你需要显式的书写代码
Option Explicit

Private Sub Command1_Click()
Dim shuzi As Long
shuzi = 200& * 500
End Sub


热点排行