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
廣告