ビット演算を使用して独自のフロア関数を実装しようとしています。私はそれが正の数のために働いているので、私は得る
roundDown(5.4) = 5.
負の数も切り捨てたい。たとえば、私はしたいです
roundDown(-5.4)= -6
私の戦略は、負の数を取り、符号付きビットをクリアして正にし、1 を加え、正の数の場合と同様に切り捨ててから、符号付きビットを 1 に戻して数値を再び負にすることです。
私の問題は、unsigned int に 1 を追加する方法がわからないことです。私はこれを行うためにビット演算を使用したいと思っています。私は何時間もそれに取り組んできましたが、本当にこれを理解したいと思っています。