[3.3] 言語:C [4] 期限:2011/7/27 問題:「ここに処理が入る」というところの入力をお願いします。void型の関数としてleft_rotate2の入力お願いします
#include <stdio.h>
void print_bit(unsigned short int x); //プロトタイプ宣言
void left_rotate2(unsigned short int *x, unsigned short int n);
int main(){
unsigned short int usi;
usi = 0xb85f ;
print_bit(usi);
print_bit(left_rotate2(&usi, 3));
return 0; //システムに値0を返す}
void print_bit(unsigned short int x){
int length , i , mask ;
mask = 1;
length = sizeof(x) *8;
mask =mask << (length -1);
printf("数値%xのビット状態\n",x);
for(i = 1;i<= length ; i++){
if(x & mask){
printf("1");
}else{ printf("0");}
mask =mask >> 1;
}
printf("\n");}
void left_rotate2(unsigned short int *x, unsigned short int n){
ここに処理が入る
printf("%d ビット左回転しました\n",n);}
実行結果:
数値b85fのビット状態
1011100001011111
3ビット左回転しました
数値c2fdのビット状態
1100001011111101