java位运算符 ~
2018-11-25 本文已影响0人
timar
~是取反运算符,所有位(包括符号位全部取反)
例如 ~1 = -2 ,下面分析(计算机中,所有的运算都是通过补码进行的)
1的补码是 0000 0001
取反后变成 1111 1110
负数的补码求反码 1111 1101
负数的反码求原码 1000 0010
所以是 -2
~是取反运算符,所有位(包括符号位全部取反)
例如 ~1 = -2 ,下面分析(计算机中,所有的运算都是通过补码进行的)
1的补码是 0000 0001
取反后变成 1111 1110
负数的补码求反码 1111 1101
负数的反码求原码 1000 0010
所以是 -2