位运算 | 学习笔记

简介: 快速学习位运算

开发者学堂课程【Java编程入门位运算】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/18


位运算

位运算指的是可以直接进行二进制的计算处理,主要有:与(&)、或(|)、异或(^)、反码(~)、移位处理。

如果要想理解操作,则一定要清楚十进制与二进制之间的转换处理逻辑:数字除2取余。

13 → 00000000 00000000 00000000 00001101Java

÷ 2

6……1

÷ 2

3……0

÷ 2

1……1

÷ 2

0……1

范例:观察与操作,如果两位都是1结果才是1,有1位是0结果就是0

public class JavaDemo {

public static void main(string args[]) {

int x = 13 ;

int y = 7;

System.out.println(x & y) ;

}

}

此编程结果为5

13的二进制:00000000 00000000 00000000 00001101

7的二进制:00000000 00000000 00000000 00000111

&计算:00000000 00000000 00000000 00000101 5

范例:观察或运算。有1位是1结果就是1,2位都是0的时候结果才是0

public class JavaDemo {

public static void main(string args[]) {

int x = 13 ;

int y = 7;

System.out.println(x | y) ;

}

}


此编程结果为15

13的二进制: 00000000 00000000 00000000 00001101

7的二进制: 00000000 00000000 00000000 00000111

|计算: 00000000 00000000 00000000 00001111 →15

在进行位处理的时候还可以进行移位的计算。例如:以23次方计算为例。

public class JavaDemo {

public static void main(string args[]) {

int x = 2 ;

System.out.println(x << 2) ;

System.out.println(x) ;

}

}

范例:移位处理

2的二进制:00000000 00000000 00000000 00000010

向左移2位:00000000 00000000 00000000 00001000 8

面试题:请解释&&&|||的区别?

·&|两个运算符可以进行位运算与逻辑运算;

|-在进行逻辑运算的时候所有的判断条件都要执行;

|-在进行位运算的时候只是针对于当前的数据进行与和或处理;

· 在逻辑运算上还可以使用&&||

|-&&:在若干个条件判断的时候,如果前面的条件返回了false,后续所有的条件都不再判断最终的结果就是false;

|-||:在若干个条件判断的时候,如果前面的条件返回了true,后续条件不再执行,最终就是true.

相关文章
|
23天前
|
机器学习/深度学习
位运算详解
本文介绍了位运算符及其基本操作,并通过几个例题详细解析了位运算的应用。内容包括左移`&lt;&lt;`、右移`&gt;&gt;`、按位取反`~`、与运算`&`、或运算`|`和异或运算`^`等运算符的使用方法。基本操作部分展示了如何检查和修改二进制位,以及异或运算的性质。例题部分则通过判定字符是否唯一、丢失的数字、两整数之和和消失的两个数字等问题,具体说明了位运算的实际应用技巧。
34 7
位运算详解
|
2月前
|
算法
算法】位运算——常见位运算基础操作总结
算法】位运算——常见位运算基础操作总结
算法】位运算——常见位运算基础操作总结
|
4月前
|
编译器 Linux C++
详细解读C++中的位运算总结
详细解读C++中的位运算总结
30 0
|
5月前
|
C++
位运算
位运算“【5月更文挑战第23天】”
37 1
|
4月前
|
机器学习/深度学习
常见位运算的总结
常见位运算的总结
35 0
|
5月前
|
算法 C++
c++算法学习笔记 (10) 位运算
c++算法学习笔记 (10) 位运算
|
算法 Java 编译器
第 13 天_位运算
第 13 天_位运算
86 0
|
存储 Java 程序员
“高端”的位运算
大家好,我是王有志。原计划迭代作为预备知识的收尾,不过在解2的幂和4的幂时,想到关于数字2的问题可以通过位运算去解决,因此补充了关于位运算的内容。
83 1
位运算专题(个人理解)
位运算专题(个人理解)
70 0
|
算法
位运算能做什么
位运算能做什么
51 0