看板 NTUE-CS104 關於我們 聯絡資訊
我的執行結果如下: 居然是long double最大? 可以問學長int 跟long int為什麼會一樣大? int 32bits float 32bits double 64bits long int 32bits long long int 64bits long double 96bits long long double 64bits ※ 引述《pk873 (P.K)》之銘言: : 先提一個基本觀念 : 變數的資料型別會影響你所能存的最大與最小值 : 今天上課的時候 : 我一時忘沒想到有一個函式可以知道傳入值的空間大小 : sizeof(x); //x的位置可以放變數 字串 數字 : 函式今天王老大才剛上 不會的請面壁思過 謝謝!!! : 以下是我做的一個測試範例 : #include<iostream> : using namespace std; : int main(void){ : int integer_number=0; : float float_number=0; : double double_number=0; : long int long_int=0; : long long int long_long_int=0; : long double long_double=0; : //long long double long_long_double=0; //有註解的部分DEV C++ 才可編譯 : cout<<"int \t\t\t"<<sizeof(integer_number)*8<<"bits"<<endl; : cout<<"float \t\t\t"<<sizeof(float_number)*8<<"bits"<<endl; : cout<<"double \t\t\t"<<sizeof(double_number)*8<<"bits"<<endl; : cout<<"long int \t\t"<<sizeof(long_int)*8<<"bits"<<endl; : cout<<"long long int \t\t"<<sizeof(long_long_int)*8<<"bits"<<endl; : cout<<"long double \t\t"<<sizeof(long_double)*8<<"bits"<<endl; : //cout<<"long long double\t"<<sizeof(long_long_double)*8<<"bits"<<endl; : system("pause"); : } : 這支程式可以拿去編譯看看 : 會輸出你那台電腦 對於該資料型態的大小為多少bits : 至於階層會爆掉的部分 是因為overflow(超出有效的儲存值域) : 我應該不用贅述吧?? @@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.127.36.154
game0416:goooogle it就會知道int看系統決定大小 12/01 10:04
chchwy:因為C++標準沒有規定int的大小 2~4byte都有可能 12/01 12:24
harry5438:我印象中是看電腦是32還是64的作業系統吧? 12/14 06:52