android - C语言的位运算,左移右移的问题
ringa_lee
ringa_lee 2017-04-17 11:17:35
[Android讨论组]

怎么理解左移一位等于乘2,右移一位等于除以2?

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
PHP中文网

这么基本的问题,希望你在提问题之前应该自己搜索寻求答案,如果之后还是不明白,在提问题的时候应该展示你的思维过程,再寻求别人的解答。请不要浪费别人的时间。

http://lmgtfy.com/?q=%E4%BD%8D%E8%BF%90%E7%AE%97

[补充]

如果要理解二进制的位移,可以以十进制的位移作类比:123左移变成1230就是乘以10,右移变成12就是除以10。二进制的话,把10改成2就是了。

需要形式化的表示的话,对于k进制的数abc为例:

abc = a * (k^2) + b * (k^1) + c (k^0)

abc/k可以表示为:

abc/k = a * (k^2) / k + b * (k^1) / k + c (k^0) / k
      = a * (k^1) + b * (k^0) + 0
      = ab

其中/代表整除,^代表乘方。左移类似。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号