正在回答
1回答
同学,你好。
问题一:python中对负数按位取反:~-4=3
-4[原]=1 0100
-4[反]=1 1011
-4[补]=1 1100
计算机存储的是1 1100,是负数-12
按位取反:0 0011,正数的补码与反码相同,即为3。
问题二:关于移位操作,我们以-4为例,左移符号位不变,低位补0,右移低位移除,由于4是负数,高位补一,如下图所示:
这里涉及到原码, 反码, 补码的概念,它们是机器存储一个具体数字的编码方式。
原码即用第一位表示符号, 其余位表示值;
正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反;
正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1;
同学可以课下查看资料做进一步了解。
如果解决了你的疑惑,请采纳,祝学习愉快~
相似问题
登录后可查看更多问答,登录/注册
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星