在不使用累计乘法的基础上,我们可以通过位运算(<<)实现2的n次方运算。
输入描述:
多组输入,每一行输入整数n
输出描述:
针对每组输入输出对应的2的n次方结果。
首先我们会用到运算符,即左移运算符<<,和右移运算符>>。
在语法格式上
需要位移的数字<<位移的次数;
eg:3<<2,则是将数字3左移2位
数字意义:
在数字没有溢出的前提下,对于正数和负数。左移一位相当于乘以2的1次方,左移n位相当于乘以2的n次方。
另一种则是位移的数字>>位移的次数;
eg:10>>2,则是将数字10右移2位
数字意义:
在数字没有溢出的前提下,对于正数和负数。右移一位相当于除以2的1次方,右移n位相当于除以2的n次方。
了解这些之后,便可以写出代码如下
#include<iostream>
using namespace std;
int main ()
{
int a;
int res;
while(cin>>a)
{
res=1<<a;
cout<<res<<endl;
}
}