取反,是Java使用補碼來表示二進制數,在補碼錶示中,最高位為符號位,正數的符號位為0,負數為1。
1、正數取反,先將初始數值轉換成二進制數,再對二進制數的每一位進行運算:將0變為1、將1變為0。得到的是最終結果的補碼,要轉換為最終結果的原碼則需再次取補碼,就能得到計算結果。
2、負數取反,先將初始數值轉換成二進制數,再取得二進制數的補碼,之後對補碼的每一位進行運算:將0變為1、將1變為0。得到的是最終結果的補碼,要轉換為最終結果的原碼則需再次取補碼,就能得到計算結果。