Java移位运算符详解实例--左移位运算符<<、右移位运算符>>>、带符号的右移位运算符>>
来源:互联网 发布:js隐藏input标签 编辑:程序博客网 时间:2024/04/30 04:49
移位运算符也针对二进制的“位”,它主要包括:左移位运算符(<<)、右移位运算符(>>>)、带符号的右移位运算符(>>)。
1.左移运算符
左移运算符用“<<”表示,是将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补零。其实,向左移n 位,就相当于乘上2 的n 次方,例如下面的例子。
public class data17
{
public static void main(String[] args)
{
int a=2;
int b=2;
System.out.println("a 移位的结果是:"+(a<<b));
}
}
运行结果
a 移位的结果是:8
分析上面的程序段:
首先从本质上来分析,2 的二进制是00000010,它向左移动2 位,就变成了00001000,即8。如果从另一个角度来分析,它向左移动2 位,其实就是乘上2 的2 次方,结果还是8。
2.右移运算符
右移运算符用符号“>>>”表示,是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0,其实右移n 位,就相当于除上2 的n 次方。
public class data18
{
public static void main(String[] args)
{
int a=16;
int b=2;
System.out.println("a 移位的结果是:"+(a>>>b));
}
}
运行结果
a 移位的结果是:4
分析上面的程序段:从本质上来分析,16 的二进制是00010000,它向右移动2 位,就变成了00000100,即4。如果从另一个角度来分析,它向右移动2 位,其实就是除以2 的2 次方,结果还是4。
3.带符号的右移运算符
带符号的右移运算符用符号“>>”表示,是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1,先看下面一个简单的例子。
public class data19
{
public static void main(String[] args)
{
int a=16;
int c=-16;
int b=2;
int d=2;
System.out.println("a 的移位结果:"+(a>>b));
System.out.println("c 的移位结果:"+(c>>d));
}
}
运行结果
a 的移位结果:4
c 的移位结果:-4
分析上面的程序段:
a 的值是16,转换成二进制是00010000,让它右移两位成00000100 即4。
c 的值是-16,转换成二进制是11101111,让它右移一位成11111011 即-4。
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例--左移位运算符<<、右移位运算符>>>、带符号的右移位运算符>>
- 左移位运算符>>、带符号的右移位运算符>>
- >>> java的扩展移位运算符 无符号右移
- java中的左移、右移移位运算符:<<,>>,>>>
- JAVA_移位运算符(右移>>、右移>>>、左移<<)
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
- 子查询+in+exists/not exists+all+any+多列子查询
- Hadoop渐进二:自动与手动实例wordcount运行
- java tomcat部署项目 省去项目名称
- SQL基础笔记-1
- linux中互斥量与条件变量的使用
- Java移位运算符详解实例--左移位运算符<<、右移位运算符>>>、带符号的右移位运算符>>
- nginx 上传文件大小受限 413 错误
- laravel之第三方包导入以及自定义包(附:phpstorm激活方式)
- Vue的安装
- Linux下通过加载内核计算CPU利用率以及内存利用率
- swift中tableView的上下拉刷新<MJRefresh>
- 2017微软面试算法题回顾
- GitHub上fork项目后与作者源代码保持一致的方法
- 面向对象与C++程序设计-字符串流学习笔记