java运算符 与(&)、非(~)、或(|)、异或(^)

2021/6/26 14:57:01

本文主要是介绍java运算符 与(&)、非(~)、或(|)、异或(^),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

最近看HashMap源码,遇到了这样一段代码:

1     static final int hash(Object key) {
2         int h;
3         return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
4     }

于是我整理学习了以下知识:
1.十进制转二进制

原理:给定的数循环除以2,直到商为0或者1为止。将每一步除的结果的余数记录下来,然后反过来就得到相应的二进制了。

比如8转二进制,第一次除以2等于4(余数0),第二次除以2等于2(余数0),第三次除以2等于1(余数0),最后余数1,得到的余数依次是0 0 0 1 ,

反过来就是1000,计算机内部表示数的字节长度是固定的,比如8位,16位,32位。所以在高位补齐,java中字节码是8位的,所以高位补齐就是00001000.

写法位(8)10=(00001000)2;

代码实现:

复制代码

 1 package sourceCode.hashMap;
 2 
 3 public class mapHashCodeTest {
 4     public static void main(String[] args) {
 5         String str = to


这篇关于java运算符 与(&)、非(~)、或(|)、异或(^)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程