博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
恶补java基础 位运算符
阅读量:6250 次
发布时间:2019-06-22

本文共 754 字,大约阅读时间需要 2 分钟。

以前不知道在哪看过别人写博客里的一句话  “越学的深入觉得自己会的东西越少”。最近研究了一下java的基础算法  hash表

被一些位运算符搞的头都大了 决心花一些时间研究一下以前一直觉得没用的东西!

 

位移动运算符:

<<表示左移, 左移一位表示原来的值乘2.

例如:3 <<2(3为int型) 

1)把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011, 
2)把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位, 
3)在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100, 
转换为十进制是12。

同理,>>表示右移. 右移一位表示除2.

 


 

java中的>>与>>>的用法  以及区别

 ">>"是带符号右移,高位是1则补1,是零则补0;">>>"是无符号右移,无论是0是1,都是补0;

1010 0000 0000 0000 0000 0000 0000 0000 >>4

则为1111 1010 0000 0000 0000 0000 0000 0000;

1010 0000 0000 0000 0000 0000 0000 0000 >>>4

则为0000 1010 0000 0000 0000 0000 0000 0000;

 


 

位运算:

位运算符包括: 与(&)、非(~)、或(|)、异或(^)

  &:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000   

      | :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110   

      ~:0变1,1变0   

      ^:两边的位不同时,结果为1,否则为0.如1100^1010=0110

 

 

 

 

转载地址:http://geusa.baihongyu.com/

你可能感兴趣的文章
查询指定时间内审核失败的事件日志
查看>>
problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 算法分析...
查看>>
springmvc流程
查看>>
BAT涉足汽车产业后对汽车后市场的影响是什么?
查看>>
LeetCode:Remove Nth Node From End of List
查看>>
删除链表的第 n 个结点
查看>>
drawable(1、canvas)
查看>>
Java过滤器,SpringMVC拦截器之间的一顺序点关系
查看>>
Git学习笔记(七)分支标签管理
查看>>
Vue学习计划基础笔记(四) - 事件处理
查看>>
python中的浅拷贝与赋值不同
查看>>
tensorflow安装
查看>>
【老叶茶馆】MySQL复制中slave延迟监控
查看>>
android onPause OnSavedInstance
查看>>
[PHP] - Laravel - CSRF token禁用方法
查看>>
python的序列类
查看>>
分享在MVC3.0中使用jQue“.NET研究”ry DataTable 插件
查看>>
使用Lombok插件需要注意的问题
查看>>
2018-2019-2 20165232 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
查看>>
Visual Studio中“后期生成事件命令行” 中使用XCopy命令
查看>>