当前位置:网站首页 > 技术博客 > 正文

左移位运算



关于左移和右移的口算:

a 左移 n 位就是 a 乘 2 的 n 次方 a 右移 n 位就是 a 除 2 的 n 次方

unsigned int a = 60; // 60 = 0011 1100 c = a << 2; // 240 = 1111 0000 cout << "Line 5 - c 的值是 " << c << endl ; c = a >> 2; // 15 = 0000 1111 cout << "Line 6 - c 的值是 " << c << endl ;<br> c = a << 2; // 240 = 1111 0000 // c = a* 2^2 = a*4 = 60*4 c = a >> 2; // 15 = 0000 1111 // c = a/ 2^2 = a/4 = 60/4 c = a >> n; // c = a * (2^n); c = a << n; // c = a / (2^n);

给出测试代码:

#include <iostream> #include <math.h> using namespace std; int left(int a,int n); int right(int a,int n); int main() { unsigned int a = 33; cout << "关于a左移和右移n位的口算方法" << endl; cout << "a << 2 =" << (a<<2) << endl; cout << "a << 2 =" << (left(a,2)) << endl; cout << "a >> 2 =" << (a>>2) << endl; cout << "a >> 2 =" << (right(a,2)) << endl; return 0; } int left(int a,int n){ return a * pow(2,n); } int right(int a,int n){ return a / pow(2,n); }

运行结果:

关于a左移和右移n位的口算方法 a << 2 =132 a << 2 =132 a >> 2 =8 a >> 2 =8

  • 上一篇: pymysql介绍
  • 下一篇: 胖胖的熊
  • 版权声明


    相关文章:

  • pymysql介绍2024-12-15 13:30:00
  • rman 备份数据文件2024-12-15 13:30:00
  • xshell连接服务器报100532024-12-15 13:30:00
  • 装饰模式的实现方式2024-12-15 13:30:00
  • i2c通信的详细讲解2024-12-15 13:30:00
  • 胖胖的熊2024-12-15 13:30:00
  • 怎么查看java版本2024-12-15 13:30:00
  • 手机编程app哪个好2024-12-15 13:30:00
  • 全局代理有危险吗2024-12-15 13:30:00
  • patblt函数2024-12-15 13:30:00