整型与浮点型的转换
1.当整型值转换float型值时,也可能损失数度
2.当float型值转换为整型值时,如浮点数过于庞大,无法容纳于整型中,那么其结果是未定义的
这两名话,如何理解啊.能具体举例一下吗
[解决办法]
1.当整型值转换float型值时,也可能损失数度
假设
float f = 100;
那么f在内存中可能是99.99999,处于
浮点数的存储结构,不能达到100%的精度,只是非常的逼近你的值
所以当整型值转换float型值时,也可能损失数度这句话是对的
[解决办法]
1.float和int都是4字节,float和int格式完全不同,float还有小数部分要占用空间,所以一个较大的int转成float就变了
2.float转成整型,由于float可以用科学技术法,这个大小就不好说了……
[解决办法]
[解决办法]
- C/C++ code
#include <iostream>#include <limits>using namespace std;int main(){ cout.precision(20); int i=numeric_limits<int>::max(); cout<<i<<endl; cout<<numeric_limits<float>::max()<<endl;//可以知道远大于int的最大值 cout<<"possible loss of data"<<endl; float f=(int)i; cout<<f<<endl; }