請問一下在DEV-C++下,要宣告一個整數變數
但變數有13碼
我用int宣告,可以編譯,但執行程式會有錯
請問要如何宣告?
2006-12-17 16:03:17 · 2 個解答 · 發問者 阿凱 1 in 電腦與網際網路 ➔ 程式設計
例如:
int a=1234567891234
要改成如何宣告?
2006-12-17 16:17:33 · update #1
long long a=1234567891234;
printf("%lld",a);
因為你已經用超過了 int 在 32位元機器所能表示的範圍
2006-12-17 16:34:44 · answer #1 · answered by 鳳琳 5 · 0⤊ 0⤋
你的編譯器可接受的整數變數最高只到 4294967295 的 10 位數正整數值。要計算大於 10 位數範圍的「大數」,必須宣告成整數陣列,可以定每 4 位數當作陣列的一位數。
int a[]={1,2345,6789,1234};
至於加減乘除計算的方式,與一般我們在紙上做四則運算的程序是完全相同的。
例如:
int a[]={8888}, b[2];
計算 b = a + a ,判斷 a + a > 10000 ,所以要進 (陣列的) 一位數,計算後,b[2]={1,7776}
b[0]= 1, b[1]= 7776
2006-12-17 16:36:27 · answer #2 · answered by Big_John-tw 7 · 0⤊ 0⤋