题目描述
不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
输入描述:
多组输入,每一行输入整数n(0 <= n < 31)。
输出描述:
针对每组输入输出对应的2的n次方的结果。
示例1
输入
2
10
输出
4
1024
#include<iostream>
using namespace std;
int main ()
{
int a;
int res;
while(cin>>a)
{
res=1<<a;
cout<<res<<endl;
}
}
总结
左移运算符<<
语法格式:
需要移位的数字 << 移位的次数
eg: 3 << 2,则是将数字3左移2位
数学意义:
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方
右移运算符>>
语法格式:
需要移位的数字 >> 移位的次数
eg:11 >> 2,则是将数字11右移2位
数学意义:
右移一位相当于除2,右移n位相当于除以2的n次方。