私はC#でポータブルクラスライブラリを開発していて、ビットをに変換したいと思ってdouble
いlong
ます。この問題の最も簡単な解決策はBitConverter.DoubleToInt64Bits
メソッドを使用することですが、残念ながら、このメソッドは.NETクラスライブラリのポータブルライブラリサブセットでは使用できません。
別の方法として、次の「2パス」ビット変換を考え出しました。
var result = BitConverter.ToInt64(BitConverter.GetBytes(x), 0);
私のテストでは、この式が一貫してと同じ結果を生成することが示されていDoubleToInt64Bits
ます。ただし、私のベンチマークテストでは、この代替の定式化は、完全な.NETFrameworkアプリケーションに実装した場合よりも約4倍遅いことも示されています。DoubleToInt64Bits
ポータブルライブラリサブセットのみを使用して、DoubleToInt64Bits
上記の私の定式化よりも迅速な置換を実装することは可能ですか?