取反什么意思?
取反,是Java与C/C++使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。
补码的规定如下:
对正数来说,最高位为0,其余各位代表数值本身(以二进制表示),如+42的补码为00101010。
对负数而言,把该数绝对值的补码按位取反,然后对整个数加1,即得该数的补码。如-42的补码为11010110(00101010按位取反11010101+1即11010110)
用补码来表示数,0的补码是单一的,都为00000000。(而在原码,反码表示中,+0和-0的表示是不单一的,可参见相应的书籍)。而且可以用111111表示-1的补(这也是补码与原码和反码的区别)。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有