整理了一下int相关的数据类型取值范围
long unsigned int 相当于 unsigned int64
#include <iostream>
using namespace std;
long unsigned int power(long unsigned int x, long unsigned int n)
{
long unsigned int v = 1;
while(n--)
{
v*=x;
}
return v;
}
int main()
{
long unsigned int a = power(2,64)-1;
long unsigned int b = 0;
cout << "long unsigned int max value "<< a << endl;
cout << "long unsigned int min value "<< b << endl;
return 0;
}
运行结果:
long unsigned int max value 18446744073709551615
long unsigned int min value 0
long int 相当于 int64
#include <iostream>
using namespace std;
long int power(long int x, long int n)
{
long int v = 1;
while(n--)
{
v*=x;
}
return v;
}
int main()
{
long int a = power(2,63)-1;
long int b = power(-2,63);
cout << "long int max value "<< a << endl;
cout << "long int min value "<< b << endl;
return 0;
}
运行结果:
long int max value 9223372036854775807
long int min value -9223372036854775808
unsigned int 相当于 unsigned int32
#include <iostream>
using namespace std;
unsigned int power( unsigned int x, unsigned int n)
{
unsigned int v = 1;
while(n--)
{
v*=x;
}
return v;
}
int main()
{
unsigned int a = power(2,32)-1;
//int b = power(-2,31);
cout << "unsigned intmax value "<< a << endl;
cout << "unsigned int min value "<< 0 << endl;
return 0;
}
运行结果:
unsigned int max value 4294967295
unsigned int min value 0
int 相当于 int32
#include <iostream>
using namespace std;
int power( int x, int n)
{
int v = 1;
while(n--)
{
v*=x;
}
return v;
}
int main()
{
int a = power(2,31)-1;
int b = power(-2,31);
cout << "int max value "<< a << endl;
cout << "int min value "<< b << endl;
return 0;
}
运行结果:
int max value 2147483647
int min value -2147483648
unsigned int 相当于 unsigned int16
#include <iostream>
using namespace std;
unsigned short int power( unsigned short int x, unsigned short int n)
{
unsigned short int v = 1;
while(n--)
{
v*=x;
}
return v;
}
int main()
{
unsigned short int a = power(2,16)-1;
//int b = power(-2,31);
cout << "unsigned short int max value "<< a << endl;
cout << "unsigned short int min value "<< 0 << endl;
return 0;
}
运行结果:
unsigned short int max value 65535
unsigned short int min value 0
short int 相当于 int16
#include <iostream>
using namespace std;
short int power( short int x, short int n)
{
short int v = 1;
while(n--)
{
v*=x;
}
return v;
}
int main()
{
short int a = power(2,15)-1;
short int b = power(-2,15);
cout << "short int max value "<< a << endl;
cout << "short int min value "<< b<< endl;
return 0;
}
运行结果:
short int max value 32767
short int min value -32768