Java中位运算符的具体应用是什么,在实际编程中有什么作用

如题所述

位逻辑运算符有“与”(AND)、“或”(OR)、“异或(XOR)”、“非(NOT)”,分别用“&”、“|”、“^”、“~”表示。

下面的例子说明了位逻辑运算符:

// Demonstrate the bitwise logical operators.

class BitLogic {

public static void main(String args[]) {

String binary[] = {

"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",

"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"

};

int a = 3; // 0 + 2 + 1 or 0011 in binary

int b = 6; // 4 + 2 + 0 or 0110 in binary

int c = a | b;

int d = a & b;

int e = a ^ b;

int f = (~a & b) | (a & ~b);

int g = ~a & 0x0f;

System.out.println(" a = " + binary[a]);

System.out.println(" b = " + binary[b]);

System.out.println(" a|b = " + binary[c]);

System.out.println(" a&b = " + binary[d]);

System.out.println(" a^b = " + binary[e]);

System.out.println("~a&b|a&~b = " + binary[f]);

System.out.println(" ~a = " + binary[g]);

}

}

在本例中,变量a与b对应位的组合代表了二进制数所有的 4 种组合模式:0-0,0-1,1-0,和1-1。“|”运算符和“&”运算符分别对变量a与b各个对应位的运算得到了变量c和变量d的值。对变量e和f的赋值说明了“^”运算符的功能。字符串数组binary代表了0到15对应的二进制的值。在本例中,数组各元素的排列顺序显示了变量对应值的二进制代码。数组之所以这样构造是因为变量的值n对应的二进制代码可以被正确的存储在数组对应元素binary[n]中。例如变量a的值为3,则它的二进制代码对应地存储在数组元素binary[3]中。~a的值与数字0x0f (对应二进制为0000 1111)进行按位与运算的目的是减小~a的值,保证变量g的结果小于16。因此该程序的运行结果可以用数组binary对应的元素来表示。
温馨提示:内容为网友见解,仅供参考
无其他回答

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

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

脚本语言系列之Java | Java中的运算符
位运算符用于在二进制级别操作变量。它们包括位与、位或、位异或和位移操作。例如:`int a = 5, b = 3; int result = a & b;`,这将进行位与运算,将`5`和`3`的二进制位进行与运算。三目运算符,也称为条件运算符,提供了一种简洁的方式来执行基于条件的计算。格式为:`(关系表达式)?...

java中的 &是什么意思 如何使用 计算
&是JAVA中的位逻辑运算符,称“按位与”,运算规则是:“&”两个运算数都为1时,结果为1,其余结果为0 ,即:即:0&0=0,0&1=0,1&0=0,1&1=1 用途:(1)清零 运算对象:原来的数中为1的位,新数中相应位为0。(2)取一个数中某些指定位。如想要取一个整数a(占2个字节)的低...

JAVA位运算符
位操作符(bitwise operator) 位操作符允许我们操作一个基本数据类型中的整数型值的单个“比特(bit)”,即二进制位。位操作符会对两个参数对应的位执行布尔代数运算,并最终生成一个结果。 位操作符来源于 C 语言面向底层的操作,那时我们经常需要直接操纵硬件,设置硬件寄存器内的二进制位。Java的设计初衷是嵌入电视...

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

java位移运算符
学习Java本来就是一件日积月累的事情,或许你通过自学能掌握一些皮毛技术,通过Java学习机构学到Java的一些基本大面,但想要做到精通,还是需要自己技术的日积月累和工作经验的不断积累。今天给大家分享的技术知识是:Java中的位移运算符!1) “有符号”左移位运算符(<<)能将运算符左边的运算对象向左...

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

位运算与原地交换两个数
位运算在编程中是一种高效的操作,它直接对整数的二进制位进行操作。本文将深入探讨Java中的位运算符,并与C语言进行对比,说明它们在原理上的相似性。Java与C语言在整型数据的处理上,都采用了位运算符进行底层操作,这些操作都基于对整数的二进制位进行逻辑和位移等操作。例如,Java中的int类型同样占用...

JAVA里面的位运算符>>,<<,>>>是什么意思,请举个列子具体说明一下?_百 ...
高位左移后溢出,舍弃不起作用。左移1位相当于该数乘以2,左移2位相当于该数乘以22=4。上面举的例子15<<2=60,即乘了4。但此结论只适用于该数左移时被溢出舍弃的高位中不包含1的情况。例如,假设以一个字节(8位)存一个整数,若a为无符号整型变量,则a=64时,左移一位时溢出的是0,而...

相似回答