请问负数取反,头部加0的含义

请问负数取反,头部加0的含义

 例如:-4取反,-4的二进制是-100,但看教程上说是0100,因此负号去掉,

问题1:想问负数转换二进制,是不是都得把负号转换0

问题二,下方图片,整数补0,负数补1,这个是什么意思,可以麻烦举个例子吗

http://img1.sycdn.imooc.com//climg/5e63a17e09d1f88214320596.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好。

问题一:python中对负数按位取反:~-4=3

-4[原]=1 0100

-4[反]=1 1011

-4[补]=1 1100

计算机存储的是1 1100,是负数-12

按位取反:0 0011,正数的补码与反码相同,即为3。

问题二:关于移位操作,我们以-4为例,左移符号位不变,低位补0,右移低位移除,由于4是负数,高位补一,如下图所示:

http://img1.sycdn.imooc.com//climg/5e65bd0c09cb5e1311560241.jpg

这里涉及到原码, 反码, 补码的概念,它们是机器存储一个具体数字的编码方式。

原码即用第一位表示符号, 其余位表示值;

正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反;

正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1;

同学可以课下查看资料做进一步了解。

如果解决了你的疑惑,请采纳,祝学习愉快~ 

  • qq_浮沉_34 提问者 #1
    虽然没看懂,并且越来越懵了,但还是谢谢您的回复
    2020-03-09 12:36:51
  • qq_浮沉_34 提问者 #2
    您好,回复没法发图,我私聊发您了 ,麻烦您看一下
    2020-03-09 17:12:59
  • 同学,你好。同学发的信息,老师已回复你了,如果还有什么疑问,在问答区提问,我们的老师会帮助解决问题~
    2020-03-09 18:46:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师