Delphi 2009 では、GetHashCode 関数が TObject に追加されました。GetHashCode は、TDictionary でのハッシュに使用される整数を返します。
オブジェクトを TDictionary で適切に動作させるには、GetHashCode を適切にオーバーライドして、一般に、異なるオブジェクトが異なる整数ハッシュ コードを返すようにする必要があります。
しかし、double フィールドを含むオブジェクトに対してはどうすればよいでしょうか? これらの double 値を GetHashCode の整数に変換するにはどうすればよいでしょうか?
たとえば、Java で通常行われている方法は、Double.doubleToLongBits や Float.floatToIntBits などのメソッドを使用することです。後者には、次のように説明するドキュメントがあります。これには、浮動小数点値のさまざまなビットに対してさまざまなマスクを使用したビット演算が含まれます。
Delphiでこれを行う関数はありますか?