2 つの 2 進数00110010
と11101110
があり、最後の 4 つの値を 2 番目から 1 番目にコピーして、2 進数 を形成するとし00111110
ます。2 バイト (またはそれ以上のデータ型) でビット演算を使用してこれを行うクリーンな方法はありますか。バイナリ パックされたデータ型を想定します。
また、サブセットをコピーできるこの問題に対する一般的な解決策はありますか。中間の 3 ビットをある数値から別の数値にコピーしたいとしましょう。これを達成するための最良の方法は何ですか?