扫码关注官方订阅号
怎么理解左移一位等于乘2,右移一位等于除以2?
ringa_lee
这么基本的问题,希望你在提问题之前应该自己搜索寻求答案,如果之后还是不明白,在提问题的时候应该展示你的思维过程,再寻求别人的解答。请不要浪费别人的时间。
http://lmgtfy.com/?q=%E4%BD%8D%E8%BF%90%E7%AE%97
[补充]
如果要理解二进制的位移,可以以十进制的位移作类比:123左移变成1230就是乘以10,右移变成12就是除以10。二进制的话,把10改成2就是了。
123
1230
12
需要形式化的表示的话,对于k进制的数abc为例:
k
abc
abc = a * (k^2) + b * (k^1) + c (k^0)
abc/k可以表示为:
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中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这么基本的问题,希望你在提问题之前应该自己搜索寻求答案,如果之后还是不明白,在提问题的时候应该展示你的思维过程,再寻求别人的解答。请不要浪费别人的时间。
http://lmgtfy.com/?q=%E4%BD%8D%E8%BF%90%E7%AE%97
[补充]
如果要理解二进制的位移,可以以十进制的位移作类比:
123
左移变成1230
就是乘以10,右移变成12
就是除以10。二进制的话,把10改成2就是了。需要形式化的表示的话,对于
k
进制的数abc
为例:abc/k
可以表示为:其中
/
代表整除,^
代表乘方。左移类似。