国产探花免费观看_亚洲丰满少妇自慰呻吟_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&)->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 池州市| 桂阳县| 河西区| 武夷山市| 黔江区| 从江县| 辽阳县| 合肥市| 鄂州市| 彭泽县| 三穗县| 高淳县| 个旧市| 高淳县| 三都| 荣成市| 临夏市| 敦化市| 清徐县| 繁昌县| 德安县| 阿拉善右旗| 南涧| 视频| 常州市| 吐鲁番市| 白城市| 卢龙县| 祥云县| 苍溪县| 池州市| 新营市| 旺苍县| 山阴县| 东乌| 张掖市| 吴忠市| 湛江市| 旌德县| 苍南县| 嘉兴市|