c++整數取值範圍

#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位數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章