整数是一种数据类型,用于定义一个包含所有正,负或零个非小数值的数字。这些不能有小数。
浮点数是一种数据类型,用于定义具有小数值的数字。这些也可以有小数。
现在,当我们为两者输入相同的值时,我们将检查编译器返回的float和integer值是什么。
#include <iostream> using namespace std; int main(){ float f = 23; unsigned int x = 23; cout<<"Float f = "<<f<<endl; cout<<"Integer x = "<<x<<endl; f = 0xffffffff; x = 0xffffffff; cout << "f = " << f << endl; cout << "x = " << x << endl; return 0; }
输出结果
Float f = 23 Integer x = 23 f = 4.29497e+09 x = 4294967295
在此代码中,我们可以看到,如果将整数值传递给float,则它将作为整数并返回整数值作为输出。但是它们两个的最大值都不同。
现在,让我们看看如果用浮点值初始化整数变量会怎样。
#include <iostream> using namespace std; int main(){ float f = 23.768; unsigned int x = 23.768; cout<<"Float f = "<<f<<endl; cout<<"Integer x = "<<x<<endl; return 0; }
输出结果
Float f = 23.768 Integer x = 23
在这种情况下,程序也会编译并运行。整数变量舍弃了初始化浮点值的小数点值,并使用其整数值进行初始化。
现在,让我们比较这些值-
#include <iostream> using namespace std; int main(){ float f = 0xffffffff; unsigned int x = 0xffffffff; if(f == x ){ cout<<"TRUE"; } else cout<<"FALSE"; return 0; }
输出结果
TRUE