• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:偶数ビットだけと奇数ビットだけを取り出すプログラム)

偶数ビットと奇数ビットを取り出すプログラム

このQ&Aのポイント
  • Red Hat Linux 9を使用してC言語のプログラミングをしていますが、偶数ビットと奇数ビットを取り出す方法について質問です。
  • 64ビットの値があり、偶数ビットと奇数ビットをそれぞれ32ビットの値に別々に取り出したいと思っています。
  • アイディアが思い浮かばず困っていますので、分かる方がいらっしゃいましたらアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • m-kur
  • ベストアンサー率50% (22/44)
回答No.1

効率は悪いと思いますが、シフト演算子を用いて強引に考えてみました。 long型のxに値が入っているものとすると、次のような形を利用することで奇数ビットだけ、もしくは偶数ビットだけを取り出せると思います。 long x = 123456; for(int i = 63; i >= 0; i=i-2){ if((x >> i) & 1){ //適当な処理 }else{ //適当な処理 } }

20centuryboy
質問者

お礼

シフト演算を利用することで解くことができました。どうもアドバイスありがとうございました。

関連するQ&A