当前位置: 首页 > news >正文

java中的,>>,<<位运算

目录

二进制 

>>,<<

&


二进制 

计算机内部使用二进制计数

二进制:在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的,这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示,数字电子电路中,逻辑门的实现直接应用了二进制。

>>,<<

Java语言中Int数据类型举例,int在java中表示为32位的二进制数
 
比如说,int number = 7 ;
 
在计算机中,number并不是十进制的数字7,而是以32进制数保存,如下所示:
 
number = 00000000000000000000000000000111

位运算符:

  • << 表示对二进制数向左移动
  • >> 表示对二进制数向右移动

栗子:

        for(int i=1;i<=10;i++){int a=i<<1;System.out.println(i+"\t 左移后:"+a);}
1	 左移后:2
2	 左移后:4
3	 左移后:6
4	 左移后:8
5	 左移后:10
6	 左移后:12
7	 左移后:14
8	 左移后:16
9	 左移后:18
10	 左移后:20

可以看到,左移一位相当于*2,同理可以推出右移一位相当于/2;

在运算时,使用位运算的效率就比直接使用取模运算效率要高,使用逻辑操作能够减少取模的时间开销。

参考文章:Java算法之入门--位运算_java 位运算_ManoCode的博客-CSDN博客

&

同理,&也是直接对二进制数进行比较,两位全为1,结果为1,否则为0

11 & 14 = 1011转换为二进制为:0000 0000 0000 1011
14转换为二进制为:0000 0000 0000 1110结果为:0000 0000 0000 1010 = 101 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

总结:好久没有总结了,最近在看java源码和算法,将java源码看完之后就会开新语言了,而且,我也马上就可以回家了,在学校呆了这么久,虽然说有人陪着,但还是家里面更香一点,还可以在家里尽情的发疯,不像在学校,只能在一个人面前发疯。

http://www.lryc.cn/news/116119.html

相关文章:

  • 成功解决Android设备adb连接后显示device unauthorized
  • 初识mysql数据库之引入mysql客户端库
  • 勘探开发人工智能技术:机器学习(1)
  • MySQL查看当前数据库视图-SQL语句
  • Clickhouse 存储引擎
  • 基于golang多消息队列中间件的封装nsq,rabbitmq,kafka
  • 【第一阶段】kotlin的函数
  • PAM安全配置-用户密码锁定策略
  • AndroidManifest.xml日常笔记
  • SpringBoot异步框架
  • 导出LLaMA ChatGlm2等LLM模型为onnx
  • C++项目:在线五子棋对战网页版--匹配对战模块开发
  • ssh 连接断开,正在执行的shell脚本也被中断了
  • UML 用例图,类图,时序图,活动图
  • Java 面试题2023
  • 【CSS3】CSS3 动画 ④ ( 使用动画制作地图热点图 )
  • 命令模式(Command)
  • Dapper 微型orm的光
  • Mysql随心记--第一篇
  • 使用dockerfile安装各种服务组件
  • 如何简单的无人直播
  • 【基于HBase和ElasticSearch构建大数据实时检索项目】
  • ProComponent 用法学习
  • 巨人互动|Google海外户Google Analytics的优缺点是什么?
  • MySQL数据库的操作
  • 人工智能行业岗位一览
  • 《Linux运维实战:Docker基础总结》
  • Clash 意外退出后 chrome / google 谷歌 浏览器无法连接互联网
  • 89 | Python人工智能篇 —— 深度学习算法 Keras 实现 MNIST分类
  • 每天一道leetcode:剑指 Offer 32 - III. 从上到下打印二叉树 III(中等广度优先遍历)