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;
}