算术右移与逻辑右移


在学习javascript的语法时,看到算术右移与逻辑右移两个名词,对这两个之间的区分突然有点模糊,以下是关于其的一点笔记。

按照汇编课本里讲的来说,算数左移和逻辑左移没有区别,均为向左移动,末尾补0。而逻辑右移是向右移动,首位补0,算数右移向右移动,首位补的是该二进制数的原来的第一位;比如一个有符号位的8位二进制数11001101,逻辑右移就不管符号位,如果移一位就变成01100110。算术右移要管符号位,右移一位变成10100110。 逻辑左移=算数左移,右边统一添0 逻辑右移,左边统一添0 算数右移,左边添加的数和符号有关 e.g:1010101010,其中[]位是添加的数字 逻辑左移一位:010101010[0] 算数左移一位:010101010[0] 逻辑右移一位:[0]101010101 算数右移一位:[1]101010101

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM