在 C/C++ 中将整数赋给浮点数并进行比较
cc++server side programmingprogramming
整数是一种数据类型,用于定义包含所有正数、负数或零的非小数值的数字。这些数字不能有小数。
浮点数是一种数据类型,用于定义具有小数值的数字。这些数字也可以有小数。
现在,我们将检查当我们为浮点数和整数输入相同的值时,编译器将返回什么值。
示例
#include <iostream> using namespace std; int main(){ float f = 23; unsigned int x = 23; cout<<"浮点数 f = "<<f<<endl; cout<<"整数 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
在此代码中,我们可以看到,如果我们将一个整数值传递给浮点数,那么它将充当整数并返回一个整数值作为输出。但是两者的最大值是不同的。
现在,让我们看看如果我们用浮点值初始化整数变量会怎样。
示例
#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