vb簡單問題求教

2022-09-23 08:06:47 字數 566 閱讀 1678

1樓:匿名使用者

6 * 5461 + 2全是整型數,但結果大於整數,所以結果溢位

6 * 54610 + 2裡54610是長整型數,結果也是長整型數,所以結果不溢位

這與vb開闢計算用的快取區大小有關,全整型開闢整型快取區。

2樓:匿名使用者

vb 計算的時候是分步計算的,然後中間結果會用應該對應型別的變數來儲存,如上 共三個數

6 * 5461 + 2 這裡面的三個數都是整型的,所以計算的時候程式會把中間結果 6*5461 放入乙個整型變數,而這個結果顯然已經超過整型,所以溢位。

6 * 54610 + 2 這裡的 54610 是長整型的數,所以程式用乙個long型別的變數儲存中間結果,而6*54610 並沒有超出long型別,所以不會溢位。

程式是以表示式中最大的資料型別來選擇中間變數的。

3樓:匿名使用者

54610 已經明顯超過 整型最大值32767 所以按長整型來計算

你做個簡單的試驗就可以了

6*32767 溢位 換32768 就沒問題

簡單VB問題,乙個簡單VB問題

上面的兄弟是考lz的改錯技術嗎?我改了一下macrotian給的 private sub command1 click dim pro as double dim i as integer n text1.text pro 1 for i 1 to n if i mod 2 0 then pro p...

vb問題簡單

問題出在這裡 你定義的a是integer型別 而文字框的文字所屬型別是string a text1.text text2.text 所進行的其實是文字的相加,並不是數字的加法運算,因此得到 123 的結果。正確的應該這樣 a val text1.text val text2.text b val t...

簡單python問題,求教,簡單python的問題,求教

我這裡報的錯誤是syntaxerror name x is local and global python 2.7 它的意思是你的fun x 在定義的時候,明明x就是乙個區域性變數,然後你在它的內部又重新定義乙個全域性變數x,這個時候python就無法判斷在接下來該怎麼處理x這個變數了.簡單pyth...