多语言展示
当前在线:970今日阅读:183今日分享:45

java基础要点:[1]移位运算

精度由大到小long>double>int>float范围由大到小double>float>long>int移位运算1)<<:左移位操作符 把2的二进制位向左移动3位,高位左移后溢出(以左为高),舍弃不用,在右边补0 2<<3:2的2进制表示法左移3位, 规律是左边的数字*2的右边的数字的次方 2的2进制应该是0000 0010, 左移3位后0001 0000 再转成十进制就是2*4=16 3<<2:3*2^2 -3<<2:-3*2^2 面试题:用最有效率的方法算出2乘以8等于几? 2<<32)>>:右移位操作符 表示算数右移,用来将一个数的二进制序列右移若干位,右端之后的空位用符号位填充, 如果是正数用0补,负数用1补充。 6>>2:1 6 右移2位,正数补0,结果为1 -6>>2:-2 6 11111111 11111111 11111111 11111 11111111 11111111 11111010 -6 右移两位,结果为负数 11111111 11111111 11111111 111111110 1 000001 1 000010 -23)>>>:无符号右移操作符 表示逻辑右移,用来将一个数的二进制位添0右移若干位,即向右移动若干位, 移到右端的低位被舍弃,最高位添0,它也叫无符号右移。规律:左边的数字/2^n 6>>>2:1 6 右移两位,正数补0,结果为1 -6>>>2:1 11111111 11111111 11111111 11111010 -6 11111111 11111111 11111010右移两位,补充0,结果为1)移位操作的数据类型可以是byte,char,short,int ,long 但是对byte,char,short进行操作时会先把他们变成int型,最后得到int结果
推荐信息