#include<limits.h>
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout <<setw(25) << left << "char bit位數爲:" << setw(10) << CHAR_BIT << endl;
cout << setw(25) << left << "char取值範圍爲:" << setw(10) << CHAR_MIN << "," << setw(10) << CHAR_MAX << endl;
cout << setw(25) << left << "無符號char取值範圍爲:" << setw(10) << "0," << setw(10) << UCHAR_MAX << endl;
cout << setw(25) << left << "short取值範圍爲:" << setw(10) << SHRT_MIN << "," << setw(10) << SHRT_MAX << endl;
cout << setw(25) << left << "無符號short取值範圍爲:" << setw(10) << "0," << setw(10) << USHRT_MAX << endl;
cout << setw(25) << left << "int取值範圍爲:" << setw(10) << INT_MIN << "," << setw(10) << INT_MIN << endl;
cout << setw(25) << left << "無符號int取值範圍爲:" << setw(10) << "0," << setw(10) << UINT_MAX << endl;
cout << setw(25) << left << "long取值範圍爲:" << setw(10) << LONG_MIN << "," << setw(10) << LONG_MAX << endl;
cout << setw(25) << left << "無符號long取值範圍爲:" << setw(10) << "0," << setw(10) << ULONG_MAX << endl;
cout << setw(25) << left << "long long 取值範圍爲:" << setw(10) << LLONG_MIN << "," << setw(10) << LLONG_MAX << endl;
cout << setw(25) << left << "無符號 long long取值範圍爲:" << setw(10) << "0," << setw(10) << ULLONG_MAX << endl;
cout << setw(25) << left << "8位數取值範圍爲:" << setw(10) << _I8_MIN << "," << setw(10) << _I8_MAX << endl;
cout << setw(25) << left << "無符號8位數取值範圍爲:" << setw(10) << "0," << setw(10) << _UI8_MAX << endl;
cout << setw(25) << left << "16位數取值範圍爲:" << setw(10) << _I16_MIN << "," << setw(10) << _I16_MAX << endl;
cout << setw(25) << left << "無符號16位數取值範圍爲:" << setw(10) << "0," << setw(10) << _UI16_MAX << endl;
cout << setw(25) << left << "32位數取值範圍爲:" << setw(10) << _I32_MIN << "," << setw(10) << _I32_MAX << endl;
cout << setw(25) << left << "無符號32位數取值範圍爲:" << setw(10) << "0," << setw(10) << _UI32_MAX << endl;
cout << setw(25) << left << "64位數取值範圍爲:" << setw(10) << _I64_MIN << "," << setw(10) << _I64_MAX << endl;
cout << setw(25) << left << "無符號64位數取值範圍爲:" << setw(10) << "0," << setw(10) << _UI64_MAX << endl;
cout << setw(25) << left << "本機最大整數爲:" << SIZE_MAX << endl;
cin.get();
return 0;
}
輸出爲:
char bit位數爲: 8
char取值範圍爲: -128 ,127
無符號char取值範圍爲: 0, 255
short取值範圍爲: -32768 ,32767
無符號short取值範圍爲: 0, 65535
int取值範圍爲: -2147483648,-2147483648
無符號int取值範圍爲: 0, 4294967295
long取值範圍爲: -2147483648,2147483647
無符號long取值範圍爲: 0, 4294967295
long long 取值範圍爲: -9223372036854775808,9223372036854775807
無符號 long long取值範圍爲:0, 18446744073709551615
8位數取值範圍爲: -128 ,
無符號8位數取值範圍爲: 0,
16位數取值範圍爲: -32768 ,32767
無符號16位數取值範圍爲: 0, 65535
32位數取值範圍爲: -2147483648,2147483647
無符號32位數取值範圍爲: 0, 4294967295
64位數取值範圍爲: -9223372036854775808,9223372036854775807
無符號64位數取值範圍爲: 0, 18446744073709551615
本機最大整數爲: 18446744073709551615
其中整數取值範圍在<limits.h>中,本機最大整數取決於系統位數,系統位64位,則爲最大無符號64位數