Cでメモリマネージャを作成していて、それが正しく整列されていることを確認しようとしています(ユーザ空間が8で割り切れるアドレスから開始するようにしてください。 8も同様)。ビット演算子または演算子|メモリブロックを整列するためのCの使用
誰もこれが何を私に言うことができる場合、私は思っていた:
x = ((x - 1) | 7) + 1;
それは友人が私に示唆されたコードの一部ですが、私はそれが/何垂直バーのをやって何がわかりませんよ関数はこのシナリオにあります
編集: 私はこれを少しはっきりと説明できたことが分かりました。 xはintであり、ビット単位のOR演算子であることを調べましたが、この文脈で意味することを理解できませんでした。助けてくれてありがとう!
Stackoverflowは、基本的な言語を学習するのに最適な場所ではありません。基本的なCチュートリアルや本を参照してください。特にあなたのクエストについては、 '|'は[bitiwise OR演算子](https://en.wikipedia.org/wiki/Bitwise_operations_in_C)です。 – kaylum
あなたはなぜあなたの友人に質問しませんでしたか? –
これは間違っています。少なくとも 'int'値を使うのは悪い考えです。 – Olaf