负数在计算机里以补码存在
二进制第一位为符号位,为0表示正数,为1表示负数。
将原码保留符号位,其他位取反,得到反码。
将反码+1得到补码,注意不是简单的末位取反,有时会进位。
上图为计算~-5过程,计算用补码计算,最后转二进制用原码。
求负数按位非过程:原数补码→左移两位,右边补零得到代求数的补码→补码减一得反码→保留符号位,其他位取反得到原码。
负数在计算机里以补码存在
二进制第一位为符号位,为0表示正数,为1表示负数。
将原码保留符号位,其他位取反,得到反码。
将反码+1得到补码,注意不是简单的末位取反,有时会进位。
上图为计算~-5过程,计算用补码计算,最后转二进制用原码。
求负数按位非过程:原数补码→左移两位,右边补零得到代求数的补码→补码减一得反码→保留符号位,其他位取反得到原码。