引用 | 編輯
ebolaman
2011-10-09 23:32 |
1樓
▲ ▼ |
關於不支援 太大的數,以及小數
因為 int 的儲存格式是 integer(整數),所以無法儲存 小數部分 而且 int 長度是 4 bytes,一旦平方...就 overflow(溢位) 了 因此將宣告 a 的型態改成 double (浮點數,可以儲存小數,長度 8 bytes) 就行了 至於大的數,可以在宣告前面加上 long 形成長浮點數 (12 bytes) 平方是用 math.h 定義的函式 pow 平方根則是用 sqrtl (long double 型態) 複製程式 #include <cstdio> #include <cstdlib> #include <cmath> #include <iostream> using namespace std; int main(void) { long double a; cout << "輸入要平方之數\n"; cin >> a; cout.setf(ios::fixed); cout << "平方後 = " << pow(a, 2) << endl; cout << "開根號 = " << sqrtl(a) << endl; cin.sync(); cin.get(); return 0; } x1 |