Re: [程設] 變數儲存大小
我的執行結果如下:
居然是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
→
12/01 10:04, , 1F
12/01 10:04, 1F
推
12/01 12:24, , 2F
12/01 12:24, 2F
推
12/14 06:52, , 3F
12/14 06:52, 3F
討論串 (同標題文章)