0

私は64ビットのメモリ値を持っています。最初の16ビットはオフセットです.16ビットを他の48ビットに追加する最も効率的な方法は何ですか. 明らかなロジックは

ab = *ptr >> 48
result = *ptr & 0x0000 ffff ffff ffff + ab; 

また、20/44ビットだったらどうなるでしょう。

SIMD / Asm の回答は良好です。

最後にオフセットを保存することもできます。参考までに、主な値はオブジェクトのアドレスになり、オフセットはオブジェクトへのオフセットになります。先頭にビットがあると、コレクターはレジスターを使用してそれをマスクできますが、ミューテーターの最適化が向上します。

4

0 に答える 0