国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

一個關于乘法溢出問題的探討

2019-11-18 17:40:14
字體:
來源:轉載
供稿:網友
這是譯自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&)->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰安市| 穆棱市| 枣阳市| 阿克苏市| 图们市| 灵璧县| 涪陵区| 临洮县| 锦州市| 历史| 揭西县| 扎赉特旗| 嘉祥县| 山阴县| 尤溪县| 云林县| 大田县| 建宁县| 本溪| 友谊县| 崇义县| 长海县| 鹰潭市| 木里| 高安市| 彰化县| 措美县| 遂溪县| 永清县| 南京市| 天全县| 扶风县| 郁南县| 株洲市| 宝坻区| 太谷县| 正阳县| 抚松县| 富平县| 榆社县| 鸡东县|