位運算應用2

  1.從鍵盤上輸入1個正整數給int變量num,輸出由8~11位構成的數(從低位、0號開始編號)。

#include <iostream.h>
#include <stdio.h>

void main()
{
 int num, mask, i;
 cout<<"Input a integer number:";
 cin>>num;
 mask = 1<<15;       /*構造1個最高位爲1、其餘各位爲0的整數(屏蔽字)*/
 cout<<num;
 for(i=1;i<=16;i++)
 {
  putchar(num&mask ? '1':'0');  /*輸出最高位的值(1/0)*/
  num<<=1;                       /*將次高位移到最高位上*/
  if(i%4==0)
  {
   putchar(',');             /*四位一組,用逗號分開*/
  }
 }
 cout<<"/bB/n";
}

2.從鍵盤上輸入1個正整數給int變量num,按二進制位輸出該數。

#include <iostream.h>
void main()
{
 int num, mask;
 cout<<"Input a integer number:";
 cin>>num;
 num>>=8;           /*右移8位,將8~11位移到低4位上*/
 mask = ~(~0 << 4); /*間接構造1個低4位爲1、其餘各位爲0的整數*/
 cout<<"result=0x"<<(num&mask)<<endl;
}

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