Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

floatへの整数の割り当てと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

  1. C ++でfloatとdoubleを比較する方法は?

    float変数とdouble変数の比較は、最終目標が何であるかによって異なります。詳細をあまり説明せずに実行可能な関数が必要で、一部の不正確な計算で問題が発生しない場合は、次の関数を使用できます- 例 #include<iostream> using namespace std; // Define the error that you can tolerate #define EPSILON 0.000001 bool areSame(double a, double b) {    return fabs(a - b) < EPSILON; }

  2. C++の関係演算子と比較演算子

    Cプログラミングでは、2つの変数に保持されている値は、次の演算子を使用して比較でき、それらの間の関係が決定されます。これらの演算子は関係演算子と呼ばれます。利用可能なさまざまなC++関係演算子は次のとおりです- 演算子 説明 より大きい = 以上 == 等しい != と等しくない <= 以下 未満 これらの演算子を使用して、オペランド間の関係を確認できます。これらの演算子は主に、2つのオペランド間の関係を見つけてそれに応じて動作するために、条件文とループで使用されます。たとえば、 例 #include<iostream> using