1、题目上手
int a = 2, b = 2;
System.out.println(a << b);
int c = 2, d = 2;
System.out.println(c >> d);
这个主要考察的是移位运算符,左移表示相乘,右移表示相除,结果都要取整。
2、题目分析
- 首先要知道>>,<<两个运算符的含义,>>表示右移运算符,<<表示左移运算符,他们都是二元运算符
- 在进行这两种运算的时候,首先要把左边十进制的数化为二进制,则a=00000110
- 要计算的就是00000110>>2,意思就是有符号右移两位,结果就是00000001,十进制就是1。00000110<<2,同理,有符号左移两位,结果就是00011000,十进制就是24
- 还有一种简单的计算方法就是不需要化为二进制,a>>b=6/2^2,结果取整得1
- a<<b=6*2^2=24
所以题目答案2*2^2=8
2/2^2=0.5
所有结果取整,答案为8和0
3、演示结果