首先,需要了解負數的補碼:負數的補碼是其絕對值的補碼求反再+1.
位取反運算符會將目標數的補碼的各位取反。
~正數的流程:1. 首先十進制數會被轉化為二進制補碼的形式;
2. 然后上一步得到的二進制補碼的各位取反(~發揮作用);
3. 上一步得到的二進制數-1,然后取反,得到目標值(這個目標值是指~正數這個負數)的絕對值的補碼;
4. 上一步的補碼轉化為十進制正數,然后+負號,就得到了目標值。
~負數的流程: 1. 首先將負數的絕對值轉化為二進制補碼的形式;
2. 將上一步得到的二進制補碼的各位取反再+1,得到負數的二進制補碼;
3. 將上一步得到的負數的二進制補碼的各位取反(~發揮作用);
4. 上一步得到的二進制序列轉化為十進制就是目標值。