こんにちは、~ 演算子を使用した for ループは、これまでどのコードでもこれを見つけたことはありませんでした
for (int i = 0; i < bytes.length; i++) {
mashed[i] = (byte) ~bytes[i];
}
~は何をしますか?
このようなものはインターネットやどこでも見つけたことがなかったので、誰かが私を助けてくれるかもしれません。
こんにちは、~ 演算子を使用した for ループは、これまでどのコードでもこれを見つけたことはありませんでした
for (int i = 0; i < bytes.length; i++) {
mashed[i] = (byte) ~bytes[i];
}
~は何をしますか?
このようなものはインターネットやどこでも見つけたことがなかったので、誰かが私を助けてくれるかもしれません。
の演算子です ~ bitwise NOT
ビット単位の NOT "~" 演算子は、オペランドの各ビットを反転します。つまり、この演算子はすべての 1 をゼロに、すべてのゼロを 1 に変更します。
内部の仕組みを知るには:ビットごとの補数 (~) 演算子はどのように機能しますか?
Java のチュートリアルからhttp://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html、
単項ビット補数演算子 "~" は、ビット パターンを反転します。どの整数型にも適用でき、すべての "0" を "1" にし、すべての "1" を "0" にします。たとえば、1 バイトには 8 ビットが含まれます。この演算子をビット パターンが "00000000" の値に適用すると、そのパターンが "11111111" に変更されます。
これは、データのすべてのビットにゲートを適用しないビット単位の演算子です。たとえば、データ ビットが 101 の場合、010 になります。
は~
ビットごとの反転です。0 は 1 になり、1 は 0 になります。
~
演算子はビット単位のNOTであり、2 進数のビットを反転します。
NOT 011100
= 100011
ドキュメントから:
単項ビット補数演算子 "~" は、ビット パターンを反転します。どの整数型にも適用でき、すべての "0" を "1" にし、すべての "1" を "0" にします。たとえば、1 バイトには 8 ビットが含まれます。この演算子をビット パターンが "00000000" の値に適用すると、そのパターンが "11111111" に変更されます。