Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 63.9MB ·虚拟内存 1300.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
题目:学习使用按位取反~。
说明:
二进制数在内存中以补码的形式存储。
按位取反:二进制每一位取反,0 变 1,1 变 0。
最高位为符号位,正数的符号位为 0,负数为 1。
对正数来说,最高位为 0,其余各位代表数值本身(以二进制表示),如 +42 的补码为 00101010。
对负数而言,把该数绝对值的补码按位取反,然后对整个数加 1,即得该数的补码。如 -42 的补码为 11010110(00101010 按位取反11010101+1 即 11010110)。
~9 的计算步骤:
转二进制:0 1001 计算补码:0 1001 按位取反:1 0110
转为原码:
按位取反:1 1001 末位加 1:1 1010 符号位为 1 是负数,即 -10
实例:
#!/usr/bin/python # -*- coding: UTF-8 -*- a = 7 b = ~a c = -7 d = ~c print ('变量 a 取反结果为: %d' % b) print ('变量 c 取反结果为: %d' % d)
以上实例中输出结果为:
变量 a 取反结果为: -8 变量 c 取反结果为: 6
说明:
~7,对 7 进行取反,7 的补码是 00000111 对补码取反得到 11111000,最高位 1 为符号位,表示负数,所以该补码对应的整数为 -8。
~-7 对 -7 进行取反,-7 的补码是 11111001 对补码取反得到 00000110,最高位 0 为符号位,表示正数,所以补码对应的整数为 6。
Python 练习实例56 Python 100例 题目:画图,学用circle画圆形。 程序分析:无。 程序源代码: 实例(Python 2.0+) [mycode3 type='python'] #!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == '__main__': from Tkinter im..
全部【编程教程】内容源自网络,仅供学习用途,若有遗漏或版权任何问题,请及时【联系我们】 ,按下 Ctrl+D 或 ⌘+D 收藏本站。