のように、参照する変数から型変換を行う:私はfloat値の実際のビット表現を取得(としませんなぜC++リファレンスへの変数から型変換
float f = 1.0f;
int a = (int&) f;
std::cout << a;
数値)。
のように、参照する変数から型変換を行う:私はfloat値の実際のビット表現を取得(としませんなぜC++リファレンスへの変数から型変換
float f = 1.0f;
int a = (int&) f;
std::cout << a;
数値)。
あなたのコードでは、技術的に言えば、未定義の動作、です。あなたのCスタイルのキャストはreinterpret_cast
で、float
左端をint&
に変換するためには定義されていません。たぶん、int
にキャストしたかったでしょうか?
なぜ変数を参照に変換し、それを変数に格納するのですか?
C++での参照は「別の名前」を意味するためです。したがって、参照に何かをキャストするときには、別の名前を付けて、浮動小数点から整数への値の変換を実行しないでください。
+1この例では匿名の名前ですが;-) –