從一個整數中把從右邊開始的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)
程序如下:
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;
}