嗨,我有一个〜运算符循环 从来没有在任何代码上找到这个
for (int i = 0; i < bytes.length; i++) {
mashed[i] = (byte) ~bytes[i];
}
做什么?
我没有在互联网上或任何地方找到这样的东西 所以也许有人可以提前帮助我
答案 0 :(得分:5)
它是~ bitwise NOT
按位NOT“〜”运算符反转操作数中的每个位,即此运算符将所有1更改为零,将所有0更改为1。
答案 1 :(得分:3)
答案 2 :(得分:3)
来自Java的教程http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html,
一元按位补码运算符“〜”反转位模式;它可以应用于任何整数类型,使每个“0”为“1”,每个“1”为“0”。例如,一个字节包含8位;将此运算符应用于位模式为“00000000”的值会将其模式更改为“11111111”。
答案 3 :(得分:2)
是按位运算符,它不会对数据的每一位应用门。例如,当数据位为101时,它将变为010。
答案 4 :(得分:2)
~
用于按位反转 - 0变为1,1变为0。
答案 5 :(得分:2)
~
运算符是按位NOT,它反转二进制数中的位:
NOT 011100
= 100011
答案 6 :(得分:2)
来自docs:
一元按位补码运算符“〜”反转位模式;它 可以应用于任何整数类型,使每个“0”为“1” 每个“1”一个“0”。例如,一个字节包含8位;应用 此运算符的位模式为“00000000”的值将更改 它的模式为“11111111”。
答案 7 :(得分:1)
Tilde(〜)对数值进行按位补码。
1011 0011 = ~0100 1100