Java移位运算

java中移位运算符有三种“<<”、“>>”、“>>>”,没有“<<<”运算符。

“<<”运算符将二进制位进行左移,低位用0来填充;

“>>”运算符将二进制位进行右移,用符号位填充高位;

“>>>”运算符将二进制位进行右移,但是是用0来填充高位。

注意:对移位运算符右侧的参数需要进行模32的运算,如,1<<35与1<<3是相同的,都为8。

(当左侧的操作数是long类型时,右侧操作数进行模64操作)

时间: 2024-08-05 15:24:34

Java移位运算的相关文章

【原创】Java移位运算

学习移位运算,首先得知道参与移位运算的类型的位数,那先来复习下Java基础类型的占位数吧. Java基础类型 Java基础类型总结一览表 类型 二进制位数 最大值 最小值 初始化值 表示形式 带符号 char 8 127(2^7-1) -128(-2^7) 0 二进制补码 是 short 16 32767(2^15 - 1) -32768(-2^15) 0 二进制补码 是 int 32 2,147,485,647(2^31 - 1) -2,147,483,648(-2^31) 0 二进制补码 l

java 移位运算

版权声明:转载请注明出处:http://www.cnblogs.com/lkcc/ 请读者亲自试一试代码,以免文章有误而误解. 移位运算 :将整数转化为二进制(以补码的形式),按位平移. <<     左移 >>     右移 >>>   无符号右移 << 右移: 按位做平移,末位用0补上(正负数都一样) a << n; 如果 a 是  byte.short.int 类型 那么 a << n 就是  a << (n%

Java移位运算之算术右移位

算术左移运算符 >>运算规则:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1. 语法格式: 需要移位的数字 >> 移位的次数 package com.zzwx.test.shifting; public class MainRight { public static void main(String[] args) { for (int p = 50; p < 55; p++) { System.out.println

Java移位运算之算术左移位

算术左移运算符 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零. 语法格式: 需要移位的数字 << 移位的次数 例如: 3 << 2,则是将数字3左移2位 package com.zzwx.test.shifting; public class Main { public static void main(String[] args) { for (int p = 1; p < 4; p++) { System.out.println("

java移位运算的用途

参考下面这篇文章 http://blog.csdn.net/gaowen_han/article/details/7163104 http://jinguo.iteye.com/blog/540150 请用最有效率的方法计算出2乘以8等于几? 参考文档 [转]java中char,byte,short的移位操作

java位运算大全

位运算因为是CPU直接支持的操作指令,也是基于二进制的操作,所以具有相当高的效率,在一些场合,合理应用位运算将具有很高的性能.通常在一些加密算法,图型算法中都会使用到位运算. Java 位运算符 位 运 算 符 用 来 对 二 进制 位 进 行 操 作 ,Java中提 供 了 如 下所 示 的 位 运 算符 : 位 运 算 符 (>>,<<,>>>,&,|,^,- ) ,位运 算 符 中 ,除 - 以 外 ,其余 均 为 二 元 运 算 符 . 操 作 数

移位运算、Arrays中的copyOf、java.util.AbstractCollection、linux命令之tail

移位运算:http://www.cnblogs.com/hongten/p/hongten_java_yiweiyunsuangfu.html. ---------- Arrays中的copyOf: ----------------------- jdk1.8源码之java.util.AbstractCollection : http://www.cnblogs.com/0xcafebabe/p/6659515.html, http://www.cnblogs.com/leipeng-whale

Java 位运算(移位、位与、或、异或、非)与逻辑运算

java 位运算包括:左移( << ).右移( >> ) .无符号右移( >>> ) .位与( & ) .位或( | ).位非( ~ ).位异或( ^ ),除了位非( ~ )是一元操作符外,其它的都是二元操作符. 逻辑运算符&.&&.|.||: 一.逻辑&与短路&&的区别 总的来说区别是体现在,只有这两个运算符的左边为false的时候会有区别,看如下代码 1.逻辑&的运算 boolean a = tr

java位运算

Java的位运算(bitwise operators)直接对整数类型的位进行操作,这些整数类型包括long.int.short.char和 byte,位运算符具体如下表: 运算符 说明 << 左移位,在低位处补0 >> 右移位,若为正数则高位补0,若为负数则高位补1 >>> 无符号右移位,无论正负都在高位补0 & 与(AND),对两个整型操作数中对应位执行布尔代数,两个位都为1时输出1,否则0. | 或(OR),对两个整型操作数中对应位执行布尔代数,两个位