关于移位操作的一点重要说明
更新时间:2016年12月23日 09:42:51 投稿:jingxian
下面小编就为大家带来一篇关于移位操作的一点重要说明。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
我们有下面的测试代码:
#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; }
对于正数的移位操作:
7的二进制码为0111
当左移2位时(右边补0):11100 十进制28
当右移2位时(左边补0):001 十进制1
-7的二进制码1111
当左移两位时:111100(最高位为符号位) 十进制-28
当右移1位时 二进制码为1111 取反加一为补码 1001,再右移1位为0100 加上符号位为-4
当右移2位时 二进制码为1111 取反加一为补码 1001,再右移2位为0010 加上符号位为-2
以上就是小编为大家带来的关于移位操作的一点重要说明全部内容了,希望大家多多支持脚本之家~
相关文章
关于C++智能指针shared_ptr和unique_ptr能否互转问题
C++中的智能指针最常用的是shared_ptr和unique_ptr,C++新手最常问的问题是我从一个函数中拿到unique_ptr,但要转成shared_ptr才能使用,要怎么转换?同理是否能将shared_ptr转换成unique_ptr,面对这些问题,跟随小编一起看看吧2022-05-05
最新评论