题目:学习使用按位取反~。
说明:
二进制数在内存中以补码云计的形式存储。
按位取反:二进制每一位取反,0 变 1,1 变 0。
最算开高位为符号位,正数的符号位为 0,负数为 1。
对正数来说,发:最高位为 0,其余各位代表数值本身(以二进制表示),如 +Py42 的补码为 00101010。
对负数而言,把该数绝对值的补码th按位取反,然后对整个数加 1,即得该数的补码。如 -42 的补码为 1on1010110(00101010 按位取反
11010101+1 即 1练习1010110)。
~9 的计算步骤:
转为原码:
程序源代码:
以上实实例例输出结果为:
说明:
~7,对 7 进行取反,7 的补码是 000-使00111 对补码取反得到 11111000,最高位 1 为符号位用按,表示负数,所以该补码对应的整数为 -8。
~-7 对 -7 进行取位取反,-7 的补码是 11111001 对补码取反得到 000001反~10,最高位 0 为符号位,表示正数,所以补码对应的整数为云计 6。
顶: 85479踩: 64708






评论专区