私は2倍の自然な大きな数を持っています。私はそれの右端の30ビットを取得する必要があります(不可欠な部分の)。整数の場合、操作は次のとおりです。
var & 0x3FFFFFFF
この目的のためにいくつかの機能を実装できますが、いくつかの簡単な解決策が必要です。ありますか?
*編集:
すべての答えが私にはうまくいきません。説明しようと思います。たとえば、double x = 9362446620820194.0000があり、その数値の整数部分の右端の30ビットは数値957350626です。
doubleの代わりにuint64_tを使用することもできますが、32ビットシステムのサポートが必要です。
psマシン(メモリ)ではなく、単純な2進数表現を意味します