2

こんにちは、~ 演算子を使用した for ループは、これまでどのコードでもこれを見つけたことはありませんでした

    for (int i = 0; i < bytes.length; i++) {
        mashed[i] = (byte) ~bytes[i];

        }

~は何をしますか?

このようなものはインターネットやどこでも見つけたことがなかったので、誰かが私を助けてくれるかもしれません。

4

8 に答える 8

4

の演算子です ~ bitwise NOT

ビット単位の NOT "~" 演算子は、オペランドの各ビットを反転します。つまり、この演算子はすべての 1 をゼロに、すべてのゼロを 1 に変更します。

すべてのオペレーター

内部の仕組みを知るには:ビットごとの補数 (~) 演算子はどのように機能しますか?

于 2013-06-29T15:14:14.393 に答える
2

これはビットごとの補数演算子です。

例:

値が 2 (0000 0010) の場合、ビット単位の補数は 1111 1101 です。

于 2013-06-29T15:13:55.540 に答える
2

Java のチュートリアルからhttp://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html

単項ビット補数演算子 "~" は、ビット パターンを反転します。どの整数型にも適用でき、すべての "0" を "1" にし、すべての "1" を "0" にします。たとえば、1 バイトには 8 ビットが含まれます。この演算子をビット パターンが "00000000" の値に適用すると、そのパターンが "11111111" に変更されます。

于 2013-06-29T15:16:05.563 に答える
1

これは、データのすべてのビットにゲートを適用しないビット単位の演算子です。たとえば、データ ビットが 101 の場合、010 になります。

于 2013-06-29T15:14:01.547 に答える
1

~ビットごとの反転です。0 は 1 になり、1 は 0 になります。

于 2013-06-29T15:14:14.880 に答える
1

~演算子はビット単位のNOTであり、2 進数のビットを反転します。

NOT 011100
  = 100011
于 2013-06-29T15:14:59.600 に答える
1

ドキュメントから:

単項ビット補数演算子 "~" は、ビット パターンを反転します。どの整数型にも適用でき、すべての "0" を "1" にし、すべての "1" を "0" にします。たとえば、1 バイトには 8 ビットが含まれます。この演算子をビット パターンが "00000000" の値に適用すると、そのパターンが "11111111" に変更されます。

于 2013-06-29T15:15:40.173 に答える