[problem]C++各种类型

刷LeetCode的时候经常要解决越界的问题,比如INT_MIN取绝对值就越界了,所以知道没种类型的最小值及最大值很有必要。

long和int一般都是4字节,但是long在32位系统和64位系统不同,但我自己电脑64位win 8.1测试还是4个字节,可能和VS的设置也有关系。

所以解决越界问题用long long代替int就OK了。

 1 #include<iostream>
 2 #include<string>
 3 #include <limits>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     cout << "type: \t\t" << "************size**************"<< endl;
 9     cout << "bool: \t\t" << "所占字节数:" << sizeof(bool);
10     cout << "\t最大值:" << (numeric_limits<bool>::max)();
11     cout << "\t\t最小值:" << (numeric_limits<bool>::min)() << endl;
12     cout << "char: \t\t" << "所占字节数:" << sizeof(char);
13     cout << "\t最大值:" << (numeric_limits<char>::max)();
14     cout << "\t\t最小值:" << (numeric_limits<char>::min)() << endl;
15     cout << "signed char: \t" << "所占字节数:" << sizeof(signed char);
16     cout << "\t最大值:" << (numeric_limits<signed char>::max)();
17     cout << "\t\t最小值:" << (numeric_limits<signed char>::min)() << endl;
18     cout << "unsigned char: \t" << "所占字节数:" << sizeof(unsigned char);
19     cout << "\t最大值:" << (numeric_limits<unsigned char>::max)();
20     cout << "\t\t最小值:" << (numeric_limits<unsigned char>::min)() << endl;
21     cout << "wchar_t: \t" << "所占字节数:" << sizeof(wchar_t);
22     cout << "\t最大值:" << (numeric_limits<wchar_t>::max)();
23     cout << "\t\t最小值:" << (numeric_limits<wchar_t>::min)() << endl;
24     cout << "short: \t\t" << "所占字节数:" << sizeof(short);
25     cout << "\t最大值:" << (numeric_limits<short>::max)();
26     cout << "\t\t最小值:" << (numeric_limits<short>::min)() << endl;
27     cout << "int: \t\t" << "所占字节数:" << sizeof(int);
28     cout << "\t最大值:" << (numeric_limits<int>::max)();
29     cout << "\t最小值:" << (numeric_limits<int>::min)() << endl;
30     cout << "unsigned: \t" << "所占字节数:" << sizeof(unsigned);
31     cout << "\t最大值:" << (numeric_limits<unsigned>::max)();
32     cout << "\t最小值:" << (numeric_limits<unsigned>::min)() << endl;
33     cout << "long: \t\t" << "所占字节数:" << sizeof(long);
34     cout << "\t最大值:" << (numeric_limits<long>::max)();
35     cout << "\t最小值:" << (numeric_limits<long>::min)() << endl;
36     cout << "unsigned long: \t" << "所占字节数:" << sizeof(unsigned long);
37     cout << "\t最大值:" << (numeric_limits<unsigned long>::max)();
38     cout << "\t最小值:" << (numeric_limits<unsigned long>::min)() << endl;
39     cout << "double: \t" << "所占字节数:" << sizeof(double);
40     cout << "\t最大值:" << (numeric_limits<double>::max)();
41     cout << "\t最小值:" << (numeric_limits<double>::min)() << endl;
42     cout << "long double: \t" << "所占字节数:" << sizeof(long double);
43     cout << "\t最大值:" << (numeric_limits<long double>::max)();
44     cout << "\t最小值:" << (numeric_limits<long double>::min)() << endl;
45     cout << "float: \t\t" << "所占字节数:" << sizeof(float);
46     cout << "\t最大值:" << (numeric_limits<float>::max)();
47     cout << "\t最小值:" << (numeric_limits<float>::min)() << endl;
48     cout << "size_t: \t" << "所占字节数:" << sizeof(size_t);
49     cout << "\t最大值:" << (numeric_limits<size_t>::max)();
50     cout << "\t最小值:" << (numeric_limits<size_t>::min)() << endl;
51     cout << "string: \t" << "所占字节数:" << sizeof(string) << endl;
52     cout << "type: \t\t" << "************size**************"<< endl;
53     return 0;
54 }

转载于:https://www.cnblogs.com/Sean-le/p/4736880.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值