【问题标题】:What is the ~ operator for [duplicate][重复] 的 ~ 运算符是什么
【发布时间】:2013-06-27 05:24:50
【问题描述】:
大家好,我有一个带有 ~ 运算符的 for 循环
以前从未在任何代码上发现过这个
for (int i = 0; i < bytes.length; i++) {
mashed[i] = (byte) ~bytes[i];
}
~有什么作用?
我在互联网上或之前在任何地方都没有找到类似的东西
所以也许有人可以帮助我提前谢谢
【问题讨论】:
标签:
java
operator-keyword
main
【解决方案4】:
它是位运算符,它不会对数据的每一位应用门。比如数据位是101,那么就变成010了。
【解决方案6】:
~ 运算符是按位的NOT,它将二进制数中的位反转:
NOT 011100
= 100011
【解决方案7】:
来自docs:
一元按位补码运算符“~”反转位模式;它
可以应用于任何整数类型,使每个“0”成为“1”
每个“1”一个“0”。例如,一个字节包含 8 位;申请
将此运算符转换为位模式为“00000000”的值会改变
其模式为“11111111”。
【解决方案8】:
波浪号 (~) 对数值进行按位补码。
1011 0011 = ~0100 1100