一个关于乘法溢出问题的探讨

2016-02-19 14:23 61 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

这是译自VBnet的一篇FAQ,以前我也曾回答过这样的问题,因此公开于此以飨大家.
  问:谁能告诉我一下代码为何产生溢出错误?我已经把结果正确地声明为Long了.
  DimxasLongx=33*1000'产生溢出错误
  ...然而当我直接赋值x=330000时,就正常运行没有错误.
  答:在计算赋给X的值时,VB会使用一个临时变量.在此过程中,它使用的是一个与表达式中数据类型相同的临时变量.在上面的例子中,由于相乘的两个数都为整型(Integer),VB将使用一个整型的临时变量.当乘积超过32K(整型的极限)时,就会产生溢出错误.修正的方法是给表达式中的某个值指定一个类型标识符,强制VB使用一个足以容纳计算结果的临时变量.如:
  x=33*1000&
  尽管1000不是Long型数,但VB将使用一个Long型临时变量来保存结果.然而,还要注意这段代码:
  x=33*1000*100&
  由于VB试图将表达式前一部分的积赋给一整型临时变量,将仍然会发生溢出错误,尽管在表达式中已经声明了一个Long型数.修正的方法是把最大的数声明为Long或者是把VB将计算为Long型的数用括号括起来:
  x=33*1000&*100
  x=33*(1000*100&)->

来源:http://www.tulaoshi.com/n/20160219/1606872.html

延伸阅读
标签: 设计
我们在做每一个设计的时候,都应该计划能够解决一个问题。喜欢讨论商业模式的人会称呼其为卖点,而对创作的人而言,这就是产品的价值所在。 在整个设计的过程中,我们会进行很多情景假设,但是无论最后的成果如何,我们首先考虑的最应该是我们成功解决了么。 感性的功能设计 vRS Mega Man-Pram是斯柯达随着第三代明锐vRS一起发布的一款婴儿...
标签: PHP
我的目标是去掉字符串中的空格,句号和逗号。 $str="hello baby,nice to meet you.hehe";//这样可以正确显示 $str="hello baby,nice to meet you . hehe";//如果在句号前面或后面多了个空格就会出现数组里某个键的值为空,也就是说当需要去掉的字符一起出现时,就会出现空值,这是为何,该如何解决? //我的一个方法是判断值是否...
标签: PHP
我之前做了一个简单的学生信息管理系统,主要给老师看的,所以用户只有老师自己。 现在正在把它改成一个可以让学生自主添加信息的管理系统,遇到了一个问题. 数据库中间,学生信息以学生的学号为PK,事先已经把学号和学生的信息倒入数据库,并且不可改变。 请问如何才能让学生一登入就能看到他自己的信息Edit界面呢?我现在弄...
标签: PHP
我的操作系统是XP.IIS为5.1,PHP4.4.4.我想在IIS下运行PHP网站,不知道该怎么配置,刚才看了论坛里的贴子,我照2000的样子配置了一回,好像还是老问题,我的电脑有安全DREAMWEAVER,当配置好重启IIS,在IE中输入 E:\网页文档\台湾大学昆虫标本 \imdap.entomol.ntu.edu.tw\CommonInsect.php 之后却又和没配置时一样,进入了DREAMWEAVER的修...
关于Datagrid中分页中产生的问题 DataGrid 分页功能有很多的帮助 但选择起来,一般还是使用自己定义分页的比较多 所在位置***/???[首页][上一页][][尾页]转到()go 使用这个方法还是有其方面的一面 现在有问题,DataGrid分页中的一个问题 无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount 第二次搜索数据开始绑定的时...

经验教程

371

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部