注册 登录
编程论坛 VB6论坛

VB连这都无法计算,因为溢出了。

yuma 发布于 2022-09-16 08:32, 3114 次点击
结果等于406900,但VB无法计算出来,因为溢出了。但VBScript却能正常计算。

VB6:
只有本站会员才能查看附件,请 登录


----------------------------------------

VBScript:
只有本站会员才能查看附件,请 登录



[此贴子已经被作者于2022-9-16 08:50编辑过]

15 回复
#2
yuma2022-09-16 08:59
VB写成这样却能正常计算,好变态。

只有本站会员才能查看附件,请 登录
#3
xianfajushi2022-09-16 09:19
只有本站会员才能查看附件,请 登录
#4
xianfajushi2022-09-16 09:22
只有本站会员才能查看附件,请 登录
#5
yuma2022-09-16 09:44
我去, 代码都来了。
#6
William19492022-09-16 09:45
MsgBox 25 + 25 * 25 + 25 * 25 * 25 + 25& * 25 * 25 * 25
#7
jz_L2022-09-16 09:50
25*25*25*25=390625,为节省内存,第1个25默认是整型最大是32767,所以溢出了,强制把第1个25定义为长整型就不会溢出了
VBS中只有Variant型,自动适应数据,这点数据不会溢出

只有本站会员才能查看附件,请 登录
#8
yuma2022-09-16 10:28
回复 7楼 jz_L
还真是的,你又是怎么知道的?
#9
tt61902022-10-03 09:22
vb6计算是默认Integer类型,范围是-32,768 到 32,767  
#10
chenyucheng2022-10-03 11:12
回复 楼主 yuma
25+25*25+25*25*25+25*25*25*25
程序代码:
Dim a, b As Long
a = 25
b = a + a * a + a * a * a + a * a * a * a
MsgBox b
#11
chenyucheng2022-10-03 11:14
回复 3楼 xianfajushi
为什么不是Caption 而是Text
#12
风吹过b2022-10-03 23:05
以下是引用chenyucheng在2022-10-3 11:14:28的发言:

为什么不是Caption 而是Text


他那个是 的代码,不是VB6 的代码,看过程后的 Handles MyBase.Load 很容易看出来的。
#13
xianfajushi2023-02-12 19:20
这就说明选择比较好,何必使用不好的编译器妨碍学习进度,无谓消耗精力和时间?
#14
yuma2023-02-12 19:26
编译的程序好像只能在windows vista及以上版本的系统中运行吧。
#15
cwa99582023-02-13 10:50
vs2005可以在xp系统上安装
#16
yuma2023-02-13 19:27
回复 15楼 cwa9958
我说的是
编译出来的程序
需在安装了.net framewoke框架的电脑上才能运行。
1