java位运算主要是用来对二进制进行操作,主要的位运算包括>>,<<,>>>,&,|,^,~ .java的二进制是采用补码(最高阶0表示正 ,1表示负,对正数来说,最高位为0,其余各位代表数值本身,如 +22的补码 为00010110。 对负数而言最高位1,把该数绝对值的补码按位取反 然后对整个数加1,即得该数的补码,如 -22的补 码 为11101010(00010110 按位取反11101001 +1=11101010))的方式进行表示.
1, >> 右移(带符号【移动的时候带上原来的符号】)
a>>b 表示a向右移动b位,低阶去掉,高阶用原来最高阶补充(即如果原来最高位0,则高位补0),
例如: 12>>2 即00001100--->00000011(3)
-12>>2 即11110100--->11111101(-3)
2, << 左移(带符号)
a<<b 表示a向左移动b位,高阶去掉,低阶用0补充。
例如: 12<<2 即00001100--->00110000(48)
-12<<2 即11110100--->11010000(-48)
3, >>> 右移(无符号【移动的时候不带上原来的符号】)
由于>>>是无符号的,所以每次移动最高位用0表示,所以>>>结果一定是正数(除0),即正数的>>>跟>>结果是一样的
例如: 12>>>2 即00001100--->00000011(3)
-12>>>2 即11110100--->00111101 (1073741821)
4, & 按位与
如果两个运算数都是1,则结果为1。其他情况下,结果均为零
例如:01010001&11000011结果为:01000001
5,| 按位或
任何一个运算数为1,则结果为1
例如:01010001|11000011结果为: 11010011
6, ^ 按位异或
只有在两个比较的位不同时其结果是 1。否则,结果是零
例如:01010001|11000011结果为: 10010010
7, ~ 按位非
是对其运算数的每一位取反
~01010001 结果为:10101110
备注:操作的数据为byte类型,在内存占一个字节即8位2进制数表示
分享到:
相关推荐
### JAVA位运算详解 在Java编程中,位运算是一门精细的艺术,涉及到对整数类型的二进制位进行直接操作。这些操作不仅能够优化代码执行效率,还常用于实现特定的算法需求。本文将深入探讨Java中的位运算,包括位...
Java位运算操作 左位移 右位移 与或非的操作
java位运算例子,一看就懂,包含符号介绍,每个符号都有相应的例子。
Java位运算是一种底层操作,它直接作用于二进制位,是计算机科学中的基础操作。在Java编程中,位运算可以用于高效地处理数据,尤其是在处理数组、位集或者进行低级优化时非常有用。本篇文章将深入探讨Java中的位运算...
Java位运算在编程中是一种非常基础且强大的操作,它直接作用于二进制位,能够进行高效的数值处理和数据操作。本文将深入讲解Java中的位运算,并通过雪花算法的应用实例来进一步阐述其重要性和用法。 1. **位运算...
Java 位运算是一种底层操作,它直接作用于整数类型的二进制表示,常用于高效地处理数据。在Java中,所有的整数类型(byte, short, int, long)都是以补码形式存储的,其中最高位是符号位,0表示正数,1表示负数。...
Java位运算大全涵盖了Java中位运算的基本概念、运算符以及其应用。位运算是一种直接对整数型数据的二进制位进行操作的运算,它可以用于高效地处理数据,尤其在系统底层开发和算法设计中至关重要。 首先,位运算的...
Java 位运算是编程语言中的一种底层操作,它允许我们直接对整数类型的数据进行按位操作,包括按位与(&)、按位或(|)、按位异或(^)、按位非(~)以及左移()、右移(>>)和无符号右移>>>。这些操作在处理二进制数据、优化...
简单的Java位运算,代码简单,易懂,大量注释
Java中的位运算是一种高效的操作,它是直接针对二进制位进行操作,因此在处理特定问题,如加密算法和图形算法时,位运算可以提供较高的性能。在Java中,位运算符包括右移(>>>),左移(),无符号右移(>>),按位与(&),按位...
Java中的位运算是一种高效的操作方式,它可以直接对二进制数据进行操作,广泛应用于各种算法和数据处理中。本文将详细介绍这些位运算的应用,并通过具体的例子来解释它们的工作原理。 1. **奇偶数判断**:`a&1`可以...
位运算在Java编程中是底层操作,用于直接处理二进制数据,对于理解计算机内部机制和优化代码性能至关重要。本文将深入探讨位运算的相关知识,包括计算机中数据的表示方法、二进制计数系统、以及原码、反码和补码的...
经常项目中用到的Java的位运算相关的方法,稍微整理了下 详细介绍可参考博客 http://longshaojian.iteye.com/admin/blogs/1946865 请多指教!
### Java中的位运算知识点 #### 一、位运算概述 位运算是计算机科学中的一个基本概念,它直接针对二进制位进行操作。在Java语言中,提供了多种位运算符来处理二进制数据,这对于优化算法性能、提高程序效率等方面...
在Java编程语言中,位运算和逻辑运算都用于处理布尔值和整数,但它们在实际操作和行为上有着显著的差异。理解这些差异对于优化代码和深入理解计算机底层工作原理至关重要。 首先,我们来看看逻辑运算符。逻辑运算符...
Java中的位运算是一种底层操作,它直接作用于二进制数据,可以用于高效地处理整数,尤其是在内存有限或者需要高性能计算的场景中。本文主要介绍Java中的位运算及其应用场景。 1. **位运算的表示方法** - Java中...