~这是按位取反的符号,它用于输出的值和进行计算的值不一样。
1.如果是用于二进制符号的运算(&,|等),比如5这个数字,二进制表示为00000101,按位取反为11111010,如果要将它做这样的运算:~5&3,那么就直接用11111010与00000011进行计算,答案为2。
2.其他情况,比如要输出,5按位取反后为11111010是一个反码,符号位为1所以原码为负数,要按其原码进行输出,原码的绝对值取反加1为反码,所以我们将反码减1取反就为原码的绝对值也就是00000110为6,所以~5 = -6.