一个非常简单但有非常奇怪的问题,谢谢

charles8513 2006-03-04 07:21:07
vb下,语句
dim i as integer

i=255*256
居然提示overflow

于是我将
dim i as integer
改为:
dim i as long
居然还是一样!!
什么原因啊??
...全文
42 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
faysky2 2006-03-04
  • 打赏
  • 举报
回复
Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间

上面i的类型定义写错了

dim i as Long
i=255&* 256
faysky2 2006-03-04
  • 打赏
  • 举报
回复
同上

dim i as integer
i=255&* 256
rainstormmaster 2006-03-04
  • 打赏
  • 举报
回复
呵呵,比较常见的问题了:
i=255*256
中255和256都可以在integer的取值范围之内,系统会将这两个数都看成integer型变量,其乘积也为integer,而255*256的值又超出了integer的取值范围,所以提示overflow


解决办法:
dim i as long
i=255& * 256&

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧