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+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告