在C / C ++中为浮点数和比较赋一个整数

整数是一种数据类型,用于定义一个包含所有正,负或零个非小数值的数字。这些不能有小数。

浮点数是一种数据类型,用于定义具有小数值的数字。这些也可以有小数。

现在,当我们为两者输入相同的值时,我们将检查编译器返回的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