java如何使用移位运算符_JAVA移位运算符使用教程
位运算符用来对二进制位进行操作,分为左移位操作和右移位操作。
左移位运算符
●左移位运算的符号为<
●特点
◆是双目运算符。
◆操作元必须是整型类型的数据。
●左位移的过程
◆假设a是一个被移位的整型数据,n是位移量。
◆a<
◆比如:对整形数 8<<1的计算
8的二进制表示: 0000,0000,0000,0000,0000,0000,0000,1000
左移一位的结果:0000,0000,0000,0000,0000,0000,0001,0000
●注意
◆左位移操作是对整型数的操作,操作符两边必须是整型。
◆比整型更小的数据类型数据将被转换成整型进行运算,比整型更大的数据类型数据是不能进行移位运算的。
◆比整型更小的数据类型数据将被转换成整型时:对于正数将高位用0填充;负数将高位用1填充。
◆例:
byte a = -8;
System.out.println(a<<2);
结果:-32
1111,1111,1111,1111,1111,1111,1111,1000
↓
1111,1111,1111,1111,1111,1111,1110,0000
◆在进行a<
★如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行a<
★对于long型数据,系统总是先计算出n%64的结果m,然后进行a<
★比如:
对于int数 5<<1与5<<33的结果相等;
对于long数 5<<1与5<<65的结果相等。
右移位运算符
右移位运算的符号为>>,右移位运算符左面的操作元称作被移位数,右面的操作数称作移位量。
●特点
◆是双目运算符。
◆操作元必须是整型类型的数据。
●右位移的过程
◆假设a是一个被移位的整型数据,n是位移量。
◆a>>n运算的过程是通过将a的所有位都右移n位,每右移一个位,右边的最低位(即右边的第1位)上的0或1被移出丢弃,并用0或1填充左边的高位(a是正数时用0填充,负数时用1填充)。
◆比如:对整形数 8>>1的计算
8的二进制表示: 0000,0000,0000,0000,0000,0000,0000,1000
右移一位的结果:0000,0000,0000,0000,0000,0000,0000,0100
●注意
◆右位移操作是对整型数的操作,操作符两边必须是整型。
◆比整型更小的数据类型数据将被转换成整型进行运算,比整型更大的数据类型数据是不能进行移位运算的。
◆比整型更小的数据类型数据将被转换成整型时:对于正数将高位用0填充;负数将高位用1填充。
◆例:
byte a = -8;
System.out.println(a>>2);
结果:-2
1111,1111,1111,1111,1111,1111,1111,1000
↓
1111,1111,1111,1111,1111,1111,1111,1110
◆在进行a>>n运算时
★如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行a>>m运算。
★对于long型数据,系统总是先计算出n%64的结果m,然后进行a>>m运算。
★比如:
对于int数 5>>1与5>>33的结果相等;
对于long数 5>>1与5>>65的结果相等。
java如何使用移位运算符_JAVA移位运算符使用教程相关推荐
- java int 运算符_Java 位运算符和 int 类型的实现
Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.=.<= # 逻辑运算符 && ...
- java中的位移运算符_Java 位移运算符
本人只是 Android小菜一个,写技术文档只是为了总结自己在最近学习到的知识,从来不敢为人师,如果里面有些不正确的地方请大家尽情指出,谢谢! 1.概述 Java 位移运算符是Java中基本的位运算操 ...
- java自定义封装一个方法_Java自定义套件封装教程
Java自定义套件封装教程 时间:2017-07-28 来源:华清远见JAVA学院 各位亲爱的小伙伴们大家好,近很多伙伴都问我该怎么做Java自定义套件封装,今天华清Java学院小编在这里做了 ...
- java右移位怎么算_Java移位运算符
一 描述 < >>:右移运算符(算术右移),如果数字为正数时,移位后在前面补0,为负数时,则在前面补1: >>>:无符号右移运算符(逻辑右移),忽略符号,空位补0即 ...
- java里面的 |运算符_Java 中 | ^ 运算符的简单使用
背景 今天碰到了代码中的按位与运算,复习一下,先列一个各个进制数据表. 顺便复习一下十进制转二进制的计算方式: 接下来解释下这三个运算符: & 按位与,都转为二进制的情况下,同为1则为1,否则 ...
- java三元表达式必须返回_java – 三元运算符的右手表达式必须兼容...
您的方法声明返回类型是String.任何return语句都必须生成一个与声明的返回类型兼容的表达式. 但是,在这种情况下,返回类型可以是int,这解释了编译器拒绝它的原因. 这不是特定于三元运算符的, ...
- java中关系运算符_Java 关系运算符
Java中的关系运算符有六种:小于(),大于等于(>=),等于(= =),不等于(!=) 其中,只有 = = 和!=可以作用于所有基本型别身上,其它四种不可以作用于boolean型别. 特别注意 ...
- java中关系运算符_Java关系运算符
Java关系运算符 java里的关系运算符有这么几种:大于(>).小于(=).小于等于(<=),他们运算的结果是个boolean值,关系式成立为true,不成立为false. 运算符分类 ...
- java instanceof运算符_Java instanceof 运算符的使用方法
用法: (类型变量 instanceof 类|接口) 作用: instanceof 操作符用于判断前面的对象是否是后面的类,或者其子类.实现类的实例.如果是则返回true 否则就返回false. 注意 ...
- java之三元运算符_Java三元运算符
三元运算符他属于流程控制语句方面,他的声明方式: ?:一个问号和冒号,问号前面写条件,问号后面写 值,冒号后面也是写值.什么是条件呢?不管你用什么方法,只要你能够让得出来的结果是false或true那 ...
最新文章
- Python编程基础:第四十四节 方法重写Method Overriding
- Linux下怎么确定Nginx安装目录
- 彩色笔记 android,彩色笔记V4.1.0-彩色笔记下载 - Iefans
- resin常见有关问题
- java集成lucene_将Lucene搜索集成到应用程序中
- 小程序 移植 云开发_使用Kubernetes探索跨云的应用程序可移植性
- 吴恩达机器学习练习2:optimset和fminunc函数
- linux虚拟智能系统下载,RT-Thread v2.1.0alpha 技术预览,智能设备操作系统
- 人脸对齐(二十)--PRN
- Lucene学习入门——核心类API
- Atitit 解析m4a文件的元数据标签音乐名,歌手 专辑 年代等信息 java版本 目录 1.1. 自己解析mp4 m4a结构	1 1.2. 格式返回	1 1.3. /bookmarksHtmlE
- 关于Teigha的使用记录
- 百度搜索查找关键词技巧-信息收集能力
- 我的计算机连不上键盘,键盘插上电脑却没反应怎么解决?
- 《东周列国志》第三十六回 晋吕郤夜焚公宫 秦穆公再平晋乱
- WSTMart开发文档
- 我的世界java最低配置要求,我的世界需要什么配置
- 有哪些好用的读书笔记app
- 下载学习通上的文档、课件
- 苹果手机怎么在照片上添加文字_要给照片快速添加文字、图框、印章,用这款手机软件比较方便...