Problem2933--【语言基础】二进制“右移”运算

2933: 【语言基础】二进制“右移”运算

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description

计算机内部是以二进制的方式存储数字的,我们熟知的十进制数是逢10进1,而二进制是逢2进1.
二进制的每个数位上只有0或1这两种符号,假如我们用4个二进制位来表示0~15一共16个数字,它会是这样的:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
如果要表示比15更大的数字,那么4个二进制位就不够用了,需要有更多的二进制位,假如用n个二进制位来表示,一共可以表示2的n次方个不同的数字。


二进制数字之间,可以很方便地进行位运算,现在我们来学习“右移”运算,
“右移”运算的规则是:一个数左移几次,后面就踢掉几个数,前面就加对应的几个零。
举例来说,让5 进行“右移”运算一次,
5的二进制形式是: 0101,右移了一次,就在后面踢掉1,前面加1个0,变成0010,也就是十进制的2




现在给定一个以十进制形式表示的整数n和位移的次数m,请输出n“右移”m次之后的结果,仍然以十进制形式打印。
例如,输入:
5 1
输出
2

Sample Input Copy

5 1

Sample Output Copy

2

Source/Category