取反,是Java使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。
1、正数取反,先将初始数值转换成二进制数,再对二进制数的每一位进行运算:将0变为1、将1变为0。得到的是最终结果的补码,要转换为最终结果的原码则需再次取补码,就能得到计算结果。得到的是最终结果的补码,要转换为最终结果的原码则需再次取补码,就能得到计算结果。
2、负数取反,先将初始数值转换成二进制数,再取得二进制数的补码,之后对补码的每一位进行运算:将0变为1、将1变为0。得到的是最终结果的补码,要转换为最终结果的原码则需再次取补码,就能得到计算结果。
考驾照网【kaojiazhao.COM】