位运算举例

来源:互联网 发布:守望先锋伤害数据 编辑:程序博客网 时间:2024/05/19 16:07

从一个整数中把从右边开始的4~7位取出来。

1、a右移4位: a>>4.

2、设置一个低4位为1,其余为全为0的数b:~(~0<<4).

       0:  000000000...0

~0: 1111111....1

  ~0<<4: 11111...0000

~(~0<<4): 00000....1111

        

3、将a与b相与,即可取出a的后4位,即右移前的从又边开始的4~7位

(a>>4) &  ~(~0<<4)

程序如下:


#include "stdafx.h"
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
unsigned a,b,c,d;
cout<<"输入a的值:"<<endl;
cin>>a;
a>>4;
b=~(~0<<4);
c=a&b;
cout<<"a的4~7位是:"<<c<<endl;
return 0;
}


0 0