作者daniel225 (Danielle)
看板NTUE-CS104
标题Re: [程设] 变数储存大小
时间Thu Dec 1 08:03:49 2011
我的执行结果如下:
居然是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
1F:→ game0416:goooogle it就会知道int看系统决定大小 12/01 10:04
2F:推 chchwy:因为C++标准没有规定int的大小 2~4byte都有可能 12/01 12:24
3F:推 harry5438:我印象中是看电脑是32还是64的作业系统吧? 12/14 06:52