【JAVA】请问位运算符在实际中具体到底有哪些实际用处

请高手完整详细说明下

位操作是程序设计中对位模式按位或二进制数的一元和二元操作。 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。 在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算).

 

    位运算符用来对二进制位进行操作,Java中提供了如下表所示的位运算符:位运算符中,除 ~ 以外,其余均为二元运算符。

操作数只能为整型和字符型数据。

3.4.1补码

Java使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。补码的规定如下:

对正数来说,最高位为0,其余各位代表数值本身(以二进制表示),如+42的补码为00101010。

对负数而言,把该数绝对值的补码按位取反,然后对整个数加1,即得该数的补码。如-42的补码为11010110(00101010按位取反11010101+1=11010110)

用补码来表示数,0的补码是唯一的,都为00000000。(而在原码,反码表示中,+0和-0的表示是不唯一的,可参见相应的书籍)。而且可以用111111表示-1的补码(这也是补码与原码和反码的区别)。

3.4.2按位取反运算符~

~   是一元运算法,对数据的每个二进制位取反,即把1变为0,把0变为1。

例如:

0010101

1101010

注意,~运算符与-运算符不同,~21≠-21。

3.4.3按位与运算符&

参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。即:

0&0=0,0&1=0,1&0=0,1&1=1

温馨提示:内容为网友见解,仅供参考
无其他回答

求:JAVA中常用位运算符及其用法详解
位运算符共有7个,分别是:位与(&)、位或(|)、位非(~)、位异或(^)、右移(>>)、左移(<<)、0填充的右移(>>>)。位运算的位与(&)、位或(|)、位非(~)、位异或(^)与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而...

JAVA位运算符
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。1.与运算符 与运算符用符号“&”表示,其使用规律如下:两...

JAVA位运算符
移位操作符操作的运算对象也是二进制的“位”,但是它们只可以被用来处理整数类型(基本类型的一种)。左移位操作符(<<)能将操作符左边的运算对象向左移动操作符右侧指定的位数(在低位补 0)。“有符号”右移位操作符(>>)则将操作符左边的运算对象向右移动操作符右侧指定的位数。“有符号”右移位操作符使用了“符号...

java位移运算符
1) “有符号”左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。左移移位相当于乘以2,例如 3 << 2 \/\/12 则是将数字3左移2位 3*2*2 = 3*(2的2次方)分析:首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧...

Java中的运算符有哪些
根据不同的功能和用途,Java运算符可以分为以下几类:算术运算符:用于进行基本的数学运算,如加、减、乘、除等。常用的算术运算符有 + - * \/ % ++ --。赋值运算符:用于为变量或常量指定数值或表达式的结果。常用的赋值运算符有 = += -= *= \/= %= <<= >>= &= ^= |=。关系运算符...

JAVA里面的位运算符>>,<<,>>>是什么意思,请举个列子具体说明一下?_百 ...
java 中:>>带符号右移 (n>>2 将整型值带符号右移2位 )<<带符号左移 (n<<2 将整型值带符号左移2位 )>>>无符号右移 (n>>>2 将整型值无符号右移2位 ) 在32位系统中任何数左移(右移)32位还是它本身 例如:�6�1a=a<<2将a...

java 位运算符和逻辑运算符,有什么区别,&和&&
二、位运算符:包括:1。&位与符 2。|位或符 3。^位异或符 4。~位取反符 以操作数12为例。位运算符将数字12视为1100。位运算符将操作数视为位而不是数值。数值 可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。位运算符将数字视为二进制...

Java基础知识之运算符和输入输出
运算符是编程语言中用于执行运算操作的符号。在Java语言中,运算符分为算数运算符、赋值运算符、逻辑运算符、条件运算符、关系运算符和位运算符等。下面将详细讲解。一、运算符 1. 算数运算符 例如:加(+)、减(-)、乘(*)、除(\/)等,可以对数字进行基本的运算。2. 赋值运算符 例如:等号(...

Java中,位运算符>>,右移时左边何时补0,何时补1
Java也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。这一运算符是C或C++没有的。若对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会用到。这样可防止我们在一个int数里移动不切实际的位数。若...

什么是Java三元运算符?基本用法有哪些?
Java中的三元运算符是一种简洁的条件表达式,它的基本用法可以看作是同时操作三个表达式的逻辑工具。其语法形式为:通过这个结构,当提供的条件为真时,运算符会执行表达式1并返回其结果;反之,若条件为假,则执行表达式2。这与传统的if...else语句功能类似,但能有效地压缩代码,提高效率。以求两个数...

相似回答