作者pk873 (P.K)
看板NTUE-CS104
標題[程設] 變數儲存大小
時間Wed Nov 30 18:36:10 2011
先提一個基本觀念
變數的資料型別會影響你所能存的最大與最小值
今天上課的時候
我一時忘沒想到有一個函式可以知道傳入值的空間大小
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.184
※ 編輯: pk873 來自: 120.127.36.184 (11/30 18:57)
→ game0416:long long的問題嗎-A- 11/30 19:16
推 fonmon77:帥唷! 謝謝PK學長 11/30 21:42
推 jeff8231:謝瞜學長~ 12/01 02:08
→ pk873:沒拉 就今天有人在測階層輸入多少時會爆就是了 12/01 03:20