Java移位运算符笔记
2017-03-19 15:01
169 查看
一、Java中有三个移位运算符
左移:<< (低位添0补齐)
带符号右移:>> (高位添符号位)
无符号右移:>>> (高位添0补齐)
数 x x<<2 x>>2 x>>>2
17 00010001 00|01000100 00000100|01 00000100|01
-17 11101111 11|10111100 11111011|11 00111011|11
二、
是将运算符左边的对象向左移动运算符右边的指定位数,并且在低位补零。其实,向左移动a位,就相当于乘以2^a
实例
public class data
{
public static void main(String[] args)
{
int a=2;
int b=2;
System.out.println("a的位移结果是:"+(a<<b));
}
}
a位移运算结果是:8
是将运算符左边的对象向右移动运算符右边的指定位数,并且在高位补零。如果是正数则在高位补零;如果是负数则在高位补1。
实例
public class data
{
public static void main(String[] args)
{
int a=2;
int b=2;
int c=16;
int d=-16;
System.out.println("c的位移结果是:"+(c>>b));
System.out.println("d的位移结果是:"+(d>>a));
}
}
运算结果
c的位移结果是:4
d的位移结果是:-4
是将运算符左边的对象向右移动运算符右边的指定位数,并在高位补零。其实是右移n位,相当于除以2^n.
实例
public class data
{
public static void main(String[] args)
{
int a=16;
int b=2;
System.out.println("a的位移结果是:"+(a>>>b));
}
}
运算结果
a的位移结果是:4
左移:<< (低位添0补齐)
带符号右移:>> (高位添符号位)
无符号右移:>>> (高位添0补齐)
数 x x<<2 x>>2 x>>>2
17 00010001 00|01000100 00000100|01 00000100|01
-17 11101111 11|10111100 11111011|11 00111011|11
二、
左移运算符
是将运算符左边的对象向左移动运算符右边的指定位数,并且在低位补零。其实,向左移动a位,就相当于乘以2^a实例
public class data
{
public static void main(String[] args)
{
int a=2;
int b=2;
System.out.println("a的位移结果是:"+(a<<b));
}
}
a位移运算结果是:8
带符号右移运算符
是将运算符左边的对象向右移动运算符右边的指定位数,并且在高位补零。如果是正数则在高位补零;如果是负数则在高位补1。实例
public class data
{
public static void main(String[] args)
{
int a=2;
int b=2;
int c=16;
int d=-16;
System.out.println("c的位移结果是:"+(c>>b));
System.out.println("d的位移结果是:"+(d>>a));
}
}
运算结果
c的位移结果是:4
d的位移结果是:-4
无符号右移运算符
是将运算符左边的对象向右移动运算符右边的指定位数,并在高位补零。其实是右移n位,相当于除以2^n.实例
public class data
{
public static void main(String[] args)
{
int a=16;
int b=2;
System.out.println("a的位移结果是:"+(a>>>b));
}
}
运算结果
a的位移结果是:4
相关文章推荐
- Java 学习笔记01 移位运算符
- Java 笔记-移位运算符
- 【Java学习笔记】移位运算符和逻辑运算符
- 我的Thinking in Java学习笔记(六)
- JAVA学习笔记之JIRA
- 我的Thinking in Java学习笔记(五)
- 我的Thinking in Java学习笔记(三)
- java对象序列化学习笔记
- 兔八哥笔记1:java初学者笔记
- 我的Thinking in Java学习笔记(七)
- 我的Thinking in Java学习笔记(六)(zt)
- Java中文处理学习笔记——Hello Unicode
- 我的Thinking in Java学习笔记(九)
- 我的Thinking in Java学习笔记(十)
- 我的Thinking in Java学习笔记(八)
- Java 学习笔记
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(1)
- Java学习笔记001
- Thinking in Java学习笔记(2)(zt)
- 【笔记】利用java进行xml编程(IBM developerworks )