在 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

相关文章