- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:偶数ビットだけと奇数ビットだけを取り出すプログラム)
偶数ビットと奇数ビットを取り出すプログラム
このQ&Aのポイント
- Red Hat Linux 9を使用してC言語のプログラミングをしていますが、偶数ビットと奇数ビットを取り出す方法について質問です。
- 64ビットの値があり、偶数ビットと奇数ビットをそれぞれ32ビットの値に別々に取り出したいと思っています。
- アイディアが思い浮かばず困っていますので、分かる方がいらっしゃいましたらアドバイスをお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
効率は悪いと思いますが、シフト演算子を用いて強引に考えてみました。 long型のxに値が入っているものとすると、次のような形を利用することで奇数ビットだけ、もしくは偶数ビットだけを取り出せると思います。 long x = 123456; for(int i = 63; i >= 0; i=i-2){ if((x >> i) & 1){ //適当な処理 }else{ //適当な処理 } }
お礼
シフト演算を利用することで解くことができました。どうもアドバイスありがとうございました。