找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22964|回复: 10

[问题求助] VBS整除的溢出错误?

[复制链接]
发表于 2013-3-12 15:49:09 | 显示全部楼层 |阅读模式
这个整除总是溢出,还有mod也是。其他除法、求幂、加法等都没问题,不知道是怎么回事?
  1. a=3194548456
  2. msgbox a\2
  3. 'msgbox a mod 2
  4. 'msgbox a/2
  5. 'msgbox a^2
复制代码
发表于 2013-3-12 16:49:45 | 显示全部楼层
http://msdn.microsoft.com/en-us/ ... x%28v=vs.84%29.aspx

Before division is performed, numeric expressions are rounded to Byte, Integer, or Long subtype expressions.
 楼主| 发表于 2013-3-12 17:24:54 | 显示全部楼层
本帖最后由 wankoilz 于 2013-3-12 17:49 编辑

难道整除最大只支持长整型的2147483647吗,难怪溢出了,还有mod运算也是这个情况,但帮助文档却没说明。
这种情况怎么处理呢?
发表于 2013-3-12 17:54:30 | 显示全部楼层
难道整除最大只支持长整型的2147483647吗,难怪溢出了,还有mod运算也是这个情况,但帮助文档却没说明
这 ...
wankoilz 发表于 2013-3-12 17:24


http://msdn.microsoft.com/en-us/library/basszbdt%28v=vs.84%29.aspx

If number1 or number2 are floating point numbers, they are first rounded to integers.
 楼主| 发表于 2013-3-12 18:28:15 | 显示全部楼层
本帖最后由 wankoilz 于 2013-3-12 18:40 编辑

integer不是更小了……那大数的整除和求模咋办呢,给个提示吧!(我看的中文帮助文档)
发表于 2013-3-12 19:36:25 | 显示全部楼层
integer不是更小了……那大数的整除和求模咋办呢,给个提示吧!(我看的中文帮助文档)
wankoilz 发表于 2013-3-12 18:28


中文帮助文档是这么写的:

模数或余数。运算符执行 number1 除以 number2 操作(浮点数四舍五入为整数)并只返回余数作为 result。例如,在下面的表达式中, A(为 result)等于 5。
A = 19 Mod 6.7
如果任一表达式为 Null,则 result 也为 Null。任一表达式为 Empty 时按 0 来处理。
 楼主| 发表于 2013-3-12 19:45:07 | 显示全部楼层
好吧。正数整除的话,还可以用/,再fix()或int()代替,但是求模怎么想办法突破integer的限制呢,请指教。
发表于 2013-3-12 23:49:27 | 显示全部楼层
好吧。正数整除的话,还可以用/,再fix()或int()代替,但是求模怎么想办法突破integer的限制呢,请指教。
wankoilz 发表于 2013-3-12 19:45


被除数 = 商 *  除数 + 余数

小学数学不用我教你吧
 楼主| 发表于 2013-3-13 09:54:37 | 显示全部楼层
本帖最后由 wankoilz 于 2013-3-13 11:10 编辑

忽略本楼!
 楼主| 发表于 2013-3-13 09:56:08 | 显示全部楼层
本帖最后由 wankoilz 于 2013-3-13 11:11 编辑

还是只能这样……好吧
发表于 2013-3-13 10:46:13 | 显示全部楼层
Python用户表示压力不大

$ python -c "print 3194548456/2"
1597274228
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 13:35 , Processed in 0.020819 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表