PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Office
[算表] VBA 大數值位元運算溢位問題
作者:
capoer
(不睡覺先生)
2016-01-10 21:37:54
軟體: Excel
版本: 2010
用 VBA 做大數值的位元運算時,一直遇到溢位的問題,
產生溢位的數值如下:
dim lngLeft as long
dim lngRight as long
lngLeft = 859001186
lngRight = 858989328
lngLeft = lngLeft Xor (lngRight * 4)
此時就會發生溢位,
用 python 跑出來的結果會是
lngLeft = 4294958370
請問各位大大有沒有好的方法可以解這個問題,感謝。
作者:
lilyhu
(簡潔俐落)
2016-01-10 21:52:00
宣告變數的時候把As Long改成As Varient如果不是非常清楚變數型別就不要宣告或設定成Varient
作者: capoer (不睡覺先生)
2016-01-10 21:56:00
改成variant後還是發生溢位的問題
作者: soyoso (我是耀宗)
2016-01-10 22:35:00
先將lngleft和lngright數值轉二進位
http://imgur.com/c7j0RuU
測試可導出原文的結果
作者:
lilyhu
(簡潔俐落)
2016-01-10 23:08:00
我在Excel 2013把兩變數都宣告成LongLong可以直接執行
作者: soyoso (我是耀宗)
2016-01-10 23:22:00
我同原po
http://imgur.com/IRZEt3Q
溢位,測試版本201632位元另測試了2003,2007,2010,32位元版本都產生溢位了
作者: capoer (不睡覺先生)
2016-01-11 01:08:00
感謝soyoso大大,看來只能用字串硬上了,感謝提供 codeto lilyhu:2010沒有LongLong,即使改成Currency還是溢位了
作者: soyoso (我是耀宗)
2016-01-11 08:33:00
longlong於2010版本有,但限64位元版本
http://imgur.com/1cv141B
剛測試了office2010 64位元,
http://imgur.com/MjcFNAf
繼續閱讀
[問題] EXCEL 取斜的資料
yar1414
[算表] 選取儲存格用鍵盤進入游標狀態
hentitan
[文件] 目錄中的空白如何設定?
w12389034e
[算表] 不同工作表可以合併統計嗎?
oplopl
[算表] EXCEL巨集中如何讓工作表為變數??
lake39
Fw: [問題] 請教WORD超連結問題。
iamlucky888
[問題] VBA 如何清除剪貼簿
gecer
[問題] 一個很笨的問題
urarm
[問題] 表格中插入省略符號
steph30
[問題] access資料表問題
tkgwaoi0225
Links
booklink
Contact Us: admin [ a t ] ucptt.com