java中的三种移位运算符
移位运算符 是位操作运算符的一种。
移位运算符可以在二进制的基础上对数字进行平移。
按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(右移)和>>>(无符号右移)。
<< : 左移运算符,num <<1,相当于num乘以2
>> : 右移运算符,num >>1,相当于num除以2
>>> : 无符号右移,忽略符号位,空位都以0补齐,(计算机中数字以补码存储,首位为符号位)。
如:a = 00110111,则a>>2 = 00001101,b=11010011,则b>>2 = 11110100;
如:a = 00110111,则a>>>2 = 00001101,b=11010011,则b>>>2 = 00110100。
//Integer.toBinaryString()是将数字用二进制格式显示int i = -10;System.out.println(Integer.toBinaryString(i));//左移两位int j = -10<<2;System.out.println(Integer.toBinaryString(j));//右移两位int m = -10>>2;System.out.println(Integer.toBinaryString(m));//无符号右移int n = -10>>>2;System.out.println(Integer.toBinaryString(n));
运算结果为:
11111111111111111111111111110110
11111111111111111111111111011000
11111111111111111111111111111101
111111111111111111111111111101(省略了首位两个0)
无符号右移的规则只记住一点:数字右移,左侧空出来的高位用0补齐。
java中的三种移位运算符相关推荐
- 分析Java中的三种不同变量的区别
1.首先分析Java中的三种不同变量的区别,如下表所示 概念 默认值 其他 类变量 也叫静态变量,是类中独立于方法之外的变量 用static 修饰 有默认初始值,系统自动初始化. 如boolean ...
- java三种移位运算符
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >> 1,相当于num除以2 &g ...
- 详解 Java 中的三种代理模式
代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用 ...
- Java中的三种代理模式解释
本文转自:Java技术栈 www.javastack.cn 代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的 ...
- 【 史上最坑爹的Java代码系列02 】Java中的三种代码块
Java中有三种代码块,三种代码块中的代码执行的优先级是面试中会被提问到的问题. 三种代码块:静态代码块.方法代码块.普通代码块 其中,普通代码块是比较少见而且比较少使用的. package com. ...
- java中的三种IO(BIO、NIO、AIO)
IO 阻塞和非阻塞主要指的是访问 IO 的线程是否会阻塞(或者说是等待) 线程访问资源,该资源是否准备就绪的一种处理方式 BIO(传统的IO) BIO是同步阻塞式的IO,以流的方式处理数据(效率低) ...
- Java中的三种输出print、printf、println
均为Java.long包里的System类中的方法. 1.print 输出时自动转化为字符串并且不会换行. 2.println 与print的用法基本相同,但是会换行(相当于在print后面添加一个\ ...
- java中利用三种循环对一到一百之间六的倍数出现多少次的代码
while循环: class test1{ public static void main(String[]args) {int count=0; //定义变量存储6的倍数出现的次数int i=1;w ...
- java循环控制语句,简述Java流程控制语句中的三种循环控制语句,并描述下它们的区别。...
简述Java流程控制语句中的三种循环控制语句,并描述下它们的区别. 答:for语句,构建确定循环次数的循环结构 while语句,通常构建不确定循环次数的循环结构 do-while语句,通常构建不确定循 ...
最新文章
- linux的ftp226,ftp服务器 不返回 226
- 初识jvm-1.Java类的加载机制
- w7系统装天联高级版服务器,w7系统有几个版本你都知道吗?
- 基于PyTorch框架的多层全连接神经网络实现MNIST手写数字分类
- pom.xml里发布和下载包
- Spring Enable*高级应用及原理
- bootstrap signin将邮件改成用户名_了解电子邮件传递背后的流程
- Pandas.plot 做图
- 深入浅出UML类图(二)
- STM32L031 BMI160 陀螺仪检测到移动向单片机发送中断
- 深蓝超级计算机象棋人机大战,象棋人机大战绝唱:超级计算机“浪潮天梭”vs“象棋第一人”许银川的巅峰之战...
- SEO入门知识2:不同角度看seo
- 《鹿鼎记》中归家三侠击杀的是真太后还是假太后
- 云计算如何运用在政府行业--解决方案
- 工业相机的曝光方式:全局曝光、卷帘曝光、全局复位释放曝光区别
- gaussdb200 数据导入
- MTK 6761平台 android O bootloader启动之 Pre-loader - Lk
- H. 田忌赛马---故事新编
- 萧乾升:4.17黄金白银TD实时最新策略,名师在线解套
- 微信小程序调用百度文字转语音API