トップ「Bit-manipulation」の質問

個々のビットの操作。

ビットごとのシフト(ビットシフト)演算子とは何ですか?それらはどのように機能しますか?

私は暇なときにCを学ぼうとしていますが、他の言語(C#、Javaなど)も同じ概念(そして多くの場合同じ演算子)を持っています...私が疑問に思っているのは、コアレベルで、ビットシフト( << 、 >> 、 >>> )は何をするのか、どのような問題を解決するのに役立つのか、そして何をするのかです。曲がりくねったところに潜んでいますか? 言い換えれば、そのすべての良さでビットシフトへの絶対的な初心者向けガイドです。

language-agnostic bit-manipulation operators bit-shift binary-operators

32ビット整数のセットビット数を数える方法は?

数値7を表す8ビットは次のようになります。00000111 3ビットが設定されています。32ビット整数のセットビット数を決定するアルゴリズムは何ですか?

algorithm binary bit-manipulation hammingweight iec10967

「2の補数」とは何ですか?

私はコンピュータシステムのコースに参加していて、 2の補数に部分的に苦労しています。 私はそれを理解したいのですが、私が読んだすべてが私のために絵をまとめていません。 ウィキペディアの記事や教科書を含む他のさまざまな記事を読みました。したがって、このコミュニティwiki投稿を開始して、2の補数とは何か、その使用方法、キャスト(符号付きから符号なし、またはその逆)、ビット単位の演算、ビットシフト演算などの演算中に数値にどのように影響するかを定義したいと思いました。 。私が望んでいるのは、プログラマーが簡単に理解できる明確で簡潔な定義です。

binary bit-manipulation computer-science twos-complement data-representation

ビットマスキングとは何ですか?

私はCプログラミングにかなり慣れておらず、ビットマスキングに遭遇しました。 誰かがビットマスキングの一般的な概念と機能を私に説明できますか? 例は大歓迎です。

c bit-manipulation bitwise-operators terminology bitmask

C#intからbyte []

intをbyte[]に変換する必要があります。これを行う1つの方法は、 BitConverter.GetBytes()を使用することです。 しかし、それが次の仕様に一致するかどうかはわかりません。XDR符号付き整数は、[-2147483648,2147483647]の範囲の整数をエンコードする32ビットデータです。 整数は2の補数表記で表されます。 最上位バイトと最下位バイトは、それぞれ0と3です。 整数は次のように宣言されます。出典: RFC1014 3.2上記の仕様を満たすintからbyteへの変換をどのように行うことができますか?

c# .net bit-manipulation nfs

C / C ++は、1ビットが設定されているかどうかをチェックします。つまり、int変数です。

int temp = 0x5E; // in binary 0b1011110. ビットシフトやマスキングを行わずに、温度のビット3が1か0かを確認する方法はありますか?このための組み込み関数があるかどうか、または自分で作成する必要があるかどうかを知りたいだけです。

c++ c bit-manipulation

ビットシフトと加算のみを使用して乗算と除算を行うにはどうすればよいですか?

ビットシフトと加算のみを使用して乗算と除算を行うにはどうすればよいですか?

c assembly bit-manipulation division multiplication

シフト演算子(<<、>>)はCで算術または論理ですか?

Cでは、シフト演算子( << 、 >> )は算術ですか、それとも論理ですか?

c binary bit-manipulation bit-shift

Cでのビット反転(MSB-> LSBからLSB-> MSBへ)のための効率的なアルゴリズム

以下を達成するための最も効率的なアルゴリズムは何ですか?0010 0000 => 0000 0100変換はMSB-> LSBからLSB-> MSBになります。 すべてのビットを逆にする必要があります。 つまり、これはエンディアンの交換ではありません。

c algorithm bit-manipulation