1000*1000溢出????

libralibra 2004-11-05 12:52:46
Private Sub Command1_Click()
Dim n As Long
n = 1000 * 1000
Debug.Print n
End Sub

---------------
上述代码运行时报错,overflow,错误代码6

long表示的范围是多少啊?

÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
Long 包含 -2,147,483,648 到 2,147,483,647 之间的整数。
÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷

对吗?
...全文
94 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
libralibra 2004-11-05
viena(vienna维也纳)(胡逸之-贱人第二)

谢谢,问题解决!

汗ing
回复
viena 2004-11-05
Debug.Print 32768 * 1000就不会溢出了,因为32768是Long,表达式就是Long
回复
viena 2004-11-05
怎么还不明白啊?说了和n没有关系!!!
执行1000*1000这个运算的时候,结果并不是直接放在n里面的,常数的数据类型是按存储空间最小,能表示1000的数据类型是Integer,两个都是Integer,表达式的数据类型也是Integer
回复
libralibra 2004-11-05
那我不是指定n为long了吗?

÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
Long 包含 -2,147,483,648 到 2,147,483,647 之间的整数。
÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷

n=1000*1000

应该可以了啊!
回复
viena 2004-11-05
//Debug.Print 1000 * 1000

//仍然溢出,错误代码6
//overflow
所以和n没有关系啊
回复
viena 2004-11-05
1,000,000 > 32,767 ,当然溢出了
回复
viena 2004-11-05
默认是Integer,16位,范围 -32,768 到 32,767
回复
libralibra 2004-11-05
Debug.Print 1000 * 1000

仍然溢出,错误代码6
overflow
回复
libralibra 2004-11-05
这些数据类型不是表示的范围么?
1000不是long?

viena(vienna维也纳)(胡逸之-贱人第二) ,帮忙解答下,
我是低手,不好意思!
回复
viena 2004-11-05
不信Debug.Print 1000 * 1000试试
回复
viena 2004-11-05
n = 1000 * 1000
n是Long,1000 * 1000不是Long,在给n赋值以前已经溢出了
回复
viena 2004-11-05
Private Sub Command1_Click()
Dim n As Long
Dim a As Long
a = 1000
n = a * a
Debug.Print n
End Sub
回复
GGL123 2004-11-05
n = 1000! * 1000!
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7485

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2004-11-05 12:52
社区公告
暂无公告