常用逻辑运算符

本文介绍了逻辑符号及其在二进制运算中的应用,包括按位与(&)、按位或(|)、异或(^)、左移(<<)和右移(>>)操作。通过Java代码示例展示了如何将十进制数转换为二进制,并进行位运算,例如10与5的运算结果,以及位移操作的影响。
摘要由CSDN通过智能技术生成

逻辑符号表格

逻辑符号含义描述
&按位与将数字转成二进制计算,两个位都为1时,结果才为1
|两个位都为0时,结果才为0 ,反知任何一个为1结果为1
^异或两个位相同为0,不同为1
<<左移整体二进位全部左移若干位,高位丢弃,低位补0
>>带符号右移整体二进位全部右移若干位,低位丢弃,高位补为符号位
&&逻辑与两者都为真结果为true
||逻辑或两者中任何一个为true结果为true

以 十进制10 和 5为例,首先需要将十进制数转成二进制(如 :0001110)

十进制转换二进制计算方法

在这里插入图片描述

使用代码转换二进制

    private fun print(num: Int) {
        for (i in 31 downTo 0) {
            LogUtils.LOG_V("print 二进制数据 = ${if (num and (1 shl i) == 0) "0" else "1"}")
        }
    }

二进制:
10 的二进制 :1010
5 的二进制:101

1、10&5
10&5 = 0000 = 0

        LogUtils.LOG_V("[ttttt]-> 10 & 5 = ${(10 and 5)}")

2、10|5
10|5 = 1111= 15

        LogUtils.LOG_V("[ttttt]-> 10 | 5 = ${(10 or 5)}")

3、10^5
10|5 = 1111= 15

        LogUtils.LOG_V("[ttttt]-> 10 ^ 5= ${(10 xor 5)}")

4、10<<5 10转成二进制位向左移动五位低位用零补位 高位丢弃
10|5 = 1 0100 0000= 320

        LogUtils.LOG_V("[ttttt]-> 10 << 5 = ${(10 shl 5)}")

5、10>>5 10转成二进制位向右移动五位高位用零补位,低位丢弃
10|5 = 0000= 0

        LogUtils.LOG_V("[ttttt]-> 10 >> 5 = ${(10 shr 5)}")

6、a&&b
a和b都为真,结果为真 ,否则都为假
7、a||b
a和b任何一个为真,结果为真 ,否则都为假

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

将哥哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值