JAVA_位取反运算符~

位取反运算符会将目标数的补码的各位取反。

~正数的流程:1. 首先十进制数会被转化为二进制补码的形式;

                       2. 然后上一步得到的二进制补码的各位取反(~发挥作用);

                       3. 上一步得到的二进制数-1,然后取反,得到目标值(这个目标值是指~正数这个负数)的绝对值的补码;

                       4. 上一步的补码转化为十进制正数,然后+负号,就得到了目标值。

~负数的流程: 1. 首先将负数的绝对值转化为二进制补码的形式;

                           2. 将上一步得到的二进制补码的各位取反再+1,得到负数的二进制补码;

                           3. 将上一步得到的负数的二进制补码的各位取反(~发挥作用);

                           4. 上一步得到的二进制序列转化为十进制就是目标值。

 

猜你喜欢

转载自www.cnblogs.com/A-PP-Z-droplet/p/11831108.html