移位运算符在移位操作中,无论左移还是右移,位运算 左移

  移位运算符在移位操作中,无论左移还是右移,位运算 左移

  如转载请注明出处:3358 www.cnblogs.com/flydoors/archive/2011/09/06/2169280.html.

  换档操作(左换档和右换档)

  这是网上流传的“变态JAVA程序员面试32问”中的一个问题(二十八问),然后下面给出的答案是

  二十八、编程问题:2乘8最有效率的方式是多少?有C背景的程序员特别喜欢问这样的问题。答案:2 3

  乍一看,似乎有道理。一般来说,23会是一个移位操作。Java字节码中,移位指令是ishl(右移),而CPU上的硬件指令可能是shl(算术右移指令)。否则,如果你熟悉汇编语言,考虑过编译优化,23根本不会用移位操作,编译时会优化计算16。

  -

  先简单解释一下:

  一般来说,位移的实现就是把数据转换成二进制,然后左右移动。如果向左移动,则向右加零;如果向右移动,左边加零,后面的溢出去掉。所以左移可以理解为整数乘法,右移可以理解为整数除法。

  向左移动()

  将第一个操作数向左移动第二个操作数指定的位数,并用0填充空位置。

  

左移相当于乘. 左移一位相当于乘2;左移两位相当于乘4;左移三位相当于乘8。

  x1=x*2

  x2=x*4

  x3=x*8

  x4=x*16

  同样,向右移动是相反的:

  向右移动()

  将第一个操作数向右移动第二个操作数指定的位数,零被添加到空位置。

  

右移相当于整除. 右移一位相当于除以2;右移两位相当于除以4;右移三位相当于除以8。

  x1=x/2

  x2=x/4

  x3=x/8

  x4=x/16

  script type=text/JavaScript charset=utf-8 src= http://static . b share . cn/b/button lite . js # style=-1 uuid=poph col=3 lang=zh /script script type=text/JavaScript charset=UTF-8 src= http://static.bshare.cn/b/bsharec0.js/Script阅读(1) 评论(0) 转发(0) 0上一页:快速排序优化

  下一个:卡特兰数字

  相关文章写安全代码——小心招牌数量.字符串移位中涉及的问题.西三旗空调维修空调氟化物561915.python海龟绘图OJ坐标移动测试123编写安全代码——注意符号的数量.使用openssl api进行加密和解密.一个可以自我打印的C程序.sql relay C接口我的ChinaUnix博客被锁了,如何破解雅虎邮箱密码.虚拟机中的ubuntu无线连接问题.如何检查IBM DS3400磁盘阵列是否单一.启动auditd时,错误如下,如何.给主人留点东西!~ ~评论火热。

移位运算符在移位操作中,无论左移还是右移,位运算 左移