C/C++ 中整数赋值给浮点数和比较


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

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

现在,我们将检查当我们为两者输入相同的值时,编译器返回的浮点数和整数的值是多少。

示例

 在线演示

#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

在此代码中,我们可以看到,如果我们将整数的值传递给浮点数,它将充当整数并返回整数作为输出。但是,两者最大值不同。

现在,让我们看看如果我们用浮点值初始化整型变量会怎样。

示例

 在线演示

#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

更新于:2019年10月24日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.