标签:iostream stream c语言 操作系统 浮点型 float long stdio.h har
基本数据类型分两大类:
规则:
short至少16位,int至少和short一样长;
long至少32位,至少和int一样长;
long long至少64位,至少和long一样长。
float至少4个字节;
double至少6个字节,并且不少于float;
long double至少和double一样长。
不同的系统环境,数据范围有所不同;32位/64位操作系统,数据范围也有所不同。
可以通过代码来确定不同的范围:
#include <stdio.h>
#include <limits.h>
int main()
{
printf("max integer: %d\n", INT_MAX);
printf("min integer: %d\n", INT_MIN);
return 0;
}
#include <iostream>
#include <limits>
int main()
{
std::cout << numeric_limits<int>::max() << endl;
std::cout << numeric_limits<int>::min() << endl;
return 0;
}
介绍个亲身遇到的数据溢出的问题。
int d = 0;
long value = d * 1000 + 10;
上面一段代码就有发生数据溢出的可能。当变量d足够大时,再乘以1000就会溢出。结果可想而知,是一个相对小的数值。
//可以这样改写,就不会出现问题
long value = (long)d * 1000 + 10;
标签:iostream stream c语言 操作系统 浮点型 float long stdio.h har
原文地址:https://www.cnblogs.com/zhugaopeng/p/9949890.html