为什么右移和左移不是一个概念

为什么右移和左移不是一个概念

#00111100

#00111100000 = 480

c = a << 3 左移是后面直接加3个000

#00111100

#00000111

c = a >> 3 而右移确实左边加3个零,右边删除3位数?

正在回答

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

1回答

同学,你好。

<<左移运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。Python3中int类型的长度理论支持无限大的数字,几乎不存在左移时高位舍弃的情况。

>>右移运算规则:按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,正数补0,负数补1。

例:

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

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 丛从绿草 提问者 #1
    你说的规则,我还是有点懵,能通俗点嘛。 什么是高位,什么是低位?
    2019-06-14 22:29:54
  • 好帮手慕美 回复 提问者 丛从绿草 #2
    右移时与原数做对比,移出的为低位,进行舍弃。左移同理,在Python3中int类型的长度理论支持无限大的数字,几乎不存在左移时高位舍弃的情况。通俗的说,在写一个16位的数时,会把高位写在前面,而把低位写在后面。
    2019-06-17 17:08:40
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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