有关整形数和浮点型数 的讨论(int,float,double)

有关整形数和浮点型数 的讨论(int,float,double)

整形数和浮点型数据在计算机中的存储方式不同,如果数据比较大时,将一个浮点型数据转换为整型数据时,可能会导致数据的不相等。

比如说:

如果是读入一个整形数据100000000,将它赋值到浮点型数据,无论是double还是float,都将输出为1e+008;

但是,如果读入数据是100000001,那么问题来了,后面的太小的数据会被忽略掉,输出结果同样为1e+008

比如如下的小测试:

先输出n是为了确保n没有溢出。

#include<iostream>
using namespace std;
int main()
{
	int n;
	int i=0;
	double temp=0;
	while(i<100)
	{
		i++;
		cin>>n;	
		temp=n;
		cout<<n<<" ";
		cout<<temp<<" ";
	}
	return 0;
} 

输出结果如图:

猜你喜欢

转载自blog.csdn.net/IT_flying625/article/details/89249844