美文网首页
二进制运算解析

二进制运算解析

作者: 进击的三文鱼 | 来源:发表于2021-05-18 16:12 被阅读0次

一 前言
小伙伴,你看代码的源码了吗?就比如HashMap的源码,我想工作几年的都应该看过,但里面涉及的二进制的基础知识你真的懂吗? 比如与运算,或运算,非运算,& | 这东西,计算时千万别说他是逻辑运算符。
二 运算符

与运算符(&)
预算规则:
0&0=0;0&1=0;1&0=0;1&1=1
复制代码
即:两个同时为1,结果为1,否则为0
例如:3&5
十进制3转为二进制的3:0000 0011
十进制5转为二进制的5:0000 0101
------------------------结果:0000 0001 ->转为十进制:1
即:3&5 = 1
与运算符,由于二进制上如果两个有一个不是1 那么就归零,所以他就可以有效的在两个数值运算后降低除数的值,源码中是有这么干的。

或运算(|)
运算规则:
0|0=0; 0|1=1; 1|0=1; 1|1=1;
复制代码
即 :参加运算的两个对象,一个为1,其值为1。
例如:3|5 即 00000011 | 0000 0101 = 00000111,因此,3|5=7。

异或运算符(^)
运算规则:
0^0=0; 0^1=1; 1^0=1; 1^1=0;
复制代码
即:参加运算的两个对象,如果两个位为“异”(值不同),则该位结果为1,否则为0。
例如:3^5 = 0000 0011 | 0000 0101 =0000 0110,因此,3^5 = 6

三 结语
使用运算符可以增加算法的处理速度,但是在平时开发中还是很少看到的,在底层算法中应用就十分广泛了,了解他们之后才能更好的看源码哦小伙伴

作者:乐乐plus
链接:https://juejin.cn/post/6962731324679389198
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • MeasureSpec详解

    一、MeasureSpec源码 二、解析 参数 MeasureSpec是View中的内部类,基本都是二进制运算。由...

  • 二进制运算解析

    一 前言小伙伴,你看代码的源码了吗?就比如HashMap的源码,我想工作几年的都应该看过,但里面涉及的二进制的基础...

  • 算法总结-位运算

    位运算符用于二进制运算 与运算 & 二进制数 n & 1 的结果为n的末位 异或运算 ^ 长度为 L 的二进制数 ...

  • Java学习笔记-第一天

    位运算符 位运算是直接对二进制进行运算. 异或运算(^):相同二进制位进行运算,结果是0.不相同二进制位运算结果是...

  • Java基础学习二 运算符

    运算符 1,运算符-算术运算符(++、--) 代码示例: 2,运算符-关系运算符 运算符号解析运算符号解析>大于<...

  • 二进制数的运算方法

    二进制数的算术运算 二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。 二进制数的加法 根据“逢二...

  • 运算 & 运算符

    运算 & 运算符 算术运算 比较运算 比较运算的结果为bool值 赋值运算 逻辑运算 位运算 二进制的运算 身份检...

  • 二进制基础

    二进制转十进制 十进制转二进制 八进制转二进制 二进制的位运算 关于负数的右移与无符号右移运算小结

  • 异或运算

    运算符: ^ 牢记: 相同为0,不同为1说明: 异或运算是二进制计算, 所以参加运算的值会先转化为二进制数 ...

  • LeetCode191——位1的个数(位运算)

    位运算基础 位运算基于整数的二进制表示进行运算。由于计算机内部就是以二进制来存储数据,因此位运算会很快。基本的位运...

网友评论

      本文标题:二进制运算解析

      本文链接:https://www.haomeiwen.com/subject/xbcyjltx.html