源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

关于移位操作的一点重要说明

  • 时间:2022-05-11 00:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:关于移位操作的一点重要说明
我们有下面的测试代码:
#include <iostream>
using namespace std;


int main()
{
  int num1=7;
  cout<<"num1(7)<<2: "<<(num1<<2)<<endl;
  cout<<"num1(7)>>2: "<<(num1>>2)<<endl;
  int num2=-7;
  cout<<"num2(-7)<<2: "<<(num2<<2)<<endl;
  cout<<"num2(-7)>>1: "<<(num2>>1)<<endl;
  cout<<"num2(-7)>>2: "<<(num2>>2)<<endl;
  return 0;
}
 [img]http://files.jb51.net/file_images/game/201612/201612230942292.jpg[/img] [b] 对于正数的移位操作:[/b] 7的二进制码为0111    当左移2位时(右边补0):11100 十进制28 当右移2位时(左边补0):001    十进制1   -7的二进制码1111     当左移两位时:111100(最高位为符号位) 十进制-28 [b]当右移1位时 二进制码为1111 取反加一为补码 1001,再右移1位为0100 加上符号位为-4[/b] [b]当右移2位时  二进制码为1111 取反加一为补码 1001,再右移2位为0010 加上符号位为-2[/b] 以上就是小编为大家带来的关于移位操作的一点重要说明全部内容了,希望大家多多支持编程素材网~
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部