位運算舉例

從一個整數中把從右邊開始的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;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章