`
demojava
  • 浏览: 548887 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java 逐位运算符

    博客分类:
  • JAVA
 
阅读更多

 
 运算符归类:

一元运算符:逻辑运算符(!),非运算符(~)

二元运算符:复制运算符(=),逻辑与运算符(&&),逻辑或运算符(||)

逐位与运算符(&),逐位或运算符(|),右移运算符(>>)

三元运算符:X?Y:Z;

逐位运算符

 逐位运算符是一种比较复制的运算符。可以分为逐位逻辑运算符,逐位位移运算符两种。无论那种逐位运算符,都必须将操作数要求是整形的操作符,转换为32位的二进制数值。然后参与运算,运算完毕将结果转换成十进制数据.

1.逐位运算符

逐位运算符(&)是一个二元运输符,该运算符可以将左右两个操作数据逐位执行And的操作

  即只有2个操作数据中的对应的位数都加1是,该结果中的的这一位才是1,否则就是0,如下代码:

 

 

int s=9&12; //结果是8

int s1=1&15; //结果是1

 

 

 

 

图解:在进行逐位与操作时,逐位与运算符会将10进制的数据转换成2进制的数据,在将2进制的数据转中的每一位数值逐位进行and操作,的出结果后将结果转换成10进制的数据。

2.逐位运算符

逐位或运算符(|)和逐位与运算符类似,可以将左右两个操作符逐位都执行OR操作,两个操作中的相对位的只要有一个为1的时,该结果的这一位就是1,其他就是0

 

   int s=9|12; //结果是13

int s1=1|15; //结果是15

 

 



 

 

图解:在进行逐位或操作的时候,逐运算或将10进制的操作数据转换成2进制的数据,在将2进制的数据中的每一位数值逐位进行OR操作,得出的结果将家恶果转换成10进制的。

3.逐位异或运算符

逐位异或运算符(^)和逐位与运算符类似,可以将左右2个操作数逐位执行异或运算,所谓异或操作是指,将第1个操作数和第2个操作数相对应的为上的2个数值

 

      int s=9^12; //结果是5

      int s1=1^15; //结果是14

 



 
 

 

4逐位非运算符

逐位非运算符(~)是一元运算符,作用与操作数据之前,可以将操作数据中的所有位数中的数值取反,在java中对于一个带符号的整数进行逐位非运算符。相当于将该整数改变符号,然后在减1

 

      int s=~12; //结果是-13

      int s1=~-15; //结果是14

 

 

 

 

 

图解:简单来说,逐位非运算,相当于将该整数改变符号再减1

5左移运算符

左移运算符(<<)是一个二元运算符,可以将1个操作数据中的所有数值,

(一共32),向左移动,移动的位数由第2个操作数决定,因此第2个操作数应该是0~31的整数,如果第2个操作数据大于31,那么结果就是第一个数据

 

            int s=12<<1; //结果是24

           int s1=15<<13; //结果是122880

 

 

 

 

图解:是将一个值左移1位,相当于将该数值乘以2;左移2位,相当于将该数值乘以4

6带符号的右移运算符

带符号的右移运算符(>>) 是一个二元操作符,可以将第1个操作数据中的所有数值(一共32)向右移动,移动的位数由第2个操作数据来决定,因此第2个操作数据应该是0~31的整数,如果第2个操作数据大于31,那么结果就是第一个数据。

 

 

 

 

图解:是将一个值带符号右移1,相当于该数据的值除以2(去掉余数),右移2位相当于将该数据除以4, (去掉余数),

70补足的右移运算符

0补足的右移运算符(>>>)与带符号的左移运算符类似,只是在右移的时候,最左侧的数值都是用0来补充。

[code="java"]

                 int s=12>>>1; //结果是6

                 nt s1=-12>>>1; //结果是2147483642

 [/code]



 

 

图解:在进行用0不足的右移操作时,用0补足的右移运算符会将第一位的操作符转换成2进制的数据,在根据第2个操作数据来决定右移位数,如果第2个操作数据是1,则将第一个操作数中的所有位数都右移1位,即第32位变成31位,第31位变成30位,依次类推,

8三元运算符(条件运算符?:)

条件运算符(?:)必须有3个操作数据,第一个操作数据必须是boolean的表达式,

而第二个操作数据是Y,和第3个操作数据Z可以是任何的类型的数值

X?Y:Z

[code="java"]

                 String demo=true?”demo”:”Test”; //结果是demo

 [/code]

 

 

  • 大小: 16.5 KB
  • 大小: 10.8 KB
  • 大小: 28.1 KB
  • 大小: 15.2 KB
  • 大小: 18.1 KB
  • 大小: 17.8 KB
  • 大小: 65.6 KB
分享到:
评论

相关推荐

    Java运算符介绍.pptx.pptx

    在Java中,运算符主要分为四大类:算术运算符、关系运算符、逻辑运算符和位运算符。 1. **算术运算符** - 加法运算符 (+):将两个数值相加,适用于整数、浮点数。 - 减法运算符 (-):执行减法运算,用于求两个数...

    java运算符大全

    27. **按位异或运算符** (^): 对两个整数进行逐位异或运算。 28. **短路与运算符** (&&): 如果第一个操作数为false,不会评估第二个操作数。 29. **短路或运算符** (||): 如果第一个操作数为true,不会评估第二个...

    JAVA中位运算符合移为运算符

    在Java编程语言中,位运算符和移位运算符是处理二进制数据的重要工具,它们在底层操作中发挥着关键作用。本文将深入探讨这两个主题,并通过实例解析其工作原理。 位运算符直接作用于整数类型的二进制表示,包括与(&...

    Java的运算符[参考].pdf

    根据功能不同,Java的运算符主要分为四类:算术运算符、关系运算符、逻辑运算符和位运算符。 1. 算术运算符 算术运算符包括一元运算符和二元运算符。一元运算符如正号 (+)、负号 (-)、自增 (++) 和自减 (--),它们...

    Java运算符优先级别.doc

    ### Java运算符优先级别详解 在Java编程语言中,运算符是执行基本操作的关键组成部分,它们决定了表达式中各个部分的处理方式。了解运算符的优先级和结合性对于正确编写和理解Java代码至关重要。 #### 运算符...

    3.2.2 java中的关系与条件运算符.docx

    6. 按位异或运算符 (^):对操作数的二进制表示进行逐位异或操作,当两个位不相同时,结果位为1,否则为0。 7. 按位求反运算符 (~):反转操作数的二进制表示,即将1变为0,0变为1。 移位运算符包括: 1. 无符号右...

    Java中的位运算符、移位运算详细介绍

    Java中的位运算符和移位运算在编程中有着重要的作用,尤其在处理底层数据和优化代码性能时。这里我们将深入探讨这些概念。 首先,我们来看位运算符。Java提供了四种基本的位运算符: 1. **按位与(&)**:这个...

    【IT十八掌徐培成】Java基础第02天-04.运算符-移位运算-逻辑运算.zip

    这些运算符可以用来对二进制位进行逐位操作,从而实现诸如设置或清除特定位、交换变量等复杂操作。 总之,理解和熟练运用Java中的移位运算和逻辑运算对于编写高效且可维护的代码至关重要。通过深入学习这部分内容,...

    322java中的关系与条件运算符.docx

    理解并熟练运用这些运算符对于编写高效的Java代码至关重要,它们在条件判断、循环控制、位操作以及逻辑处理等方面都有广泛应用。在编程实践中,正确使用这些运算符可以优化代码性能,同时使程序逻辑更加清晰。

    java位运算大全.pdf

    - **按位与运算符**:`&`用于进行逐位与运算,如果两个对应位都是1,则结果位为1,否则为0。 - **按位或运算符**:`|`进行逐位或运算,如果两个对应位中至少有一个为1,则结果位为1。 - **按位异或运算符**:`^`...

    学习笔记(2):逻辑运算符和位运算符

    `|`运算符执行逐位或操作,当两个对应位中至少有一个为1时,结果位为1,如`0010 1101 | 0110 0111`的结果为`0110 1111`。 `^`运算符执行逐位异或,当两个对应位不同时结果为1,相同则为0,例如`0010 1101 ^ 0110 ...

    十六进制字符串按位异或运算工具和java位异或运算

    在Java中,我们可以利用`Integer.parseInt()`方法将十六进制字符串转换为整数,再使用位运算符`^`来进行异或操作。首先,我们需要将输入的十六进制字符串按空格分隔,然后对每个分隔后的十六进制数进行异或运算。...

    大整数加法减法 完整算法 写一个表示大整数(>2256)的对象( C++或Java),能实现 +,-,*,/(运算符重载)(

    对于加法,我们从每个数字的最低位开始逐位相加,如果当前位相加的结果大于9,则需要进位。进位可以通过一个`carry`变量来跟踪。以下是简化版的加法方法: ```java public void plus() { int carry = 0; ...

    java位运算大全[定义].pdf

    Java中的位运算是一种高效的操作,它是直接针对二进制位进行操作的,因为CPU原生支持,所以在某些特定场景下,比如加密算法和图形处理,...因此,对Java的位运算符和整型数据的理解是每个专业程序员必备的基础知识。

    java二进制运算器(加、见、乘、除)

    6. **Java中的位运算符**: Java提供了多种位运算符,包括按位与(&),按位或(|),按位异或(^),左移(),右移(&gt;&gt;或&gt;&gt;&gt;),以及按位非(~)。这些运算符在处理二进制数据时非常有用。 7. **二进制转换**: 在Java中,我们...

    java下程序

    在Java编程语言中,位运算符是用于对二进制位进行操作的一类运算符,它们包括按位与(&)、按位或(|)、按位异或(^)等。这些运算符在处理二进制数据、实现特定算法以及优化代码性能等方面具有重要作用。下面,...

    写一个表示大整数(>2256)的对象( C++或Java),能实现 +,-,*,/(运算符重载)(

    类似于小学生做的竖式加法,从低位到高位逐位相加,若有进位,则传递给下一位。 3. 减法:减法类似,但需要处理借位。可以将减数转换为它的补数(加1)然后执行加法。 4. 乘法:乘法可以采用Karatsuba算法或者更...

    十进制到二进制转换的Java程序.docx

    总结来说,Java提供了多种将十进制数转换为二进制数的方法,包括使用数组和按位运算符。每种方法都有其优缺点,例如在效率和空间需求上的差异。根据具体的应用场景,开发者可以选择适合的方法来实现转换。

    java基本概念试卷

    - **运算符**:Java支持多种运算符,包括算术运算符、关系运算符、逻辑运算符和位运算符等。 - **算术运算符**:如`+`(加)、`-`(减)、`*`(乘)、`/`(除)和`%`(取模)。 - **关系运算符**:用于比较操作,...

    易语言位运算实现加法运算

    在易语言中,我们可以利用位运算来实现加法运算,这通常涉及到位移、按位与、按位或和按位异或等基本位运算符。本篇文章将深入探讨如何在易语言中通过位运算实现加法功能。 首先,让我们了解易语言的基本语法。...

Global site tag (gtag.js) - Google Analytics