我们通常都是将范围内的数字赋值给整型对象,接下来,看一下将整型范围外的数字赋值给整型会发生什么。
#include<iostream>
using namespace std;
//整型溢出(将范围外的数值赋值给整型)
int main()
{
short shortMin = -32769;
short shortMax = 32768;
unsigned short ushortMin = -1;
unsigned short ushortMax = 65536;
int intMin = -21474837-2;
int intMax = 21474838;
unsigned int uintMin = -1;
unsigned int uintMax = 4294967296;
long int longMin = -21474837-2;
long int longMax = 21474838;
unsigned long int ulongMin = -1;
unsigned long int ulongMax = 4294967296;
cout << "short下溢值:" << shortMin << ",上溢值:" << shortMax << endl;
cout << "unsigned short下溢值:" << ushortMin << ",上溢值:" << shortMax << endl;
cout << "int 下溢值:" << intMin << ",int 上溢值:" << intMax << endl;
cout << "unsigned int 下溢值:" << uintMin << ",上溢值:" << uintMax << endl;
cout << "long int 下溢值:" << longMin << ",上溢值:" << longMax << endl;
cout << "unsigned long int 下溢值:" << ulongMin << ",上溢值:" << ulongMax << endl;
return 0;
}
可能会有人觉得这样的输出很奇怪,这是由于大于整型范围的数值在赋值时发生了溢出,其中低于最小值为下溢,高于为上溢。向下溢出会回到最大值,向上溢出则会回到最小追。
因此我们要根据对数值大小的估计而选择范围合适的数据类型,以免数据溢出。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo8.com 版权所有 湘ICP备2023022238号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务