プロが教える店舗&オフィスのセキュリティ対策術

機能:引数で渡されたbitを16桁のビット列(2進数文字列)として画面に出力。
   なお、ビット列の末尾には空白一文字を付加して出力。

#include <stdio.h>
#define DATASIZE 4
#define BITSIZE 16

void disp_bit(unsigned short bit)
{
int i;
unsigned short mask = 0x8000;
for(i = 0 ; i < BITSIZE ; i++){
if ((bit & mask) != 0)
printf("1");
else
printf("0");
mask = ?;
}
printf(" ");
}


void rotate_left(unsigned short bits[], int n )
{
unsigned short work, over , over_top;
int i;

over_top = ?;
for(i = 0 ; i < DATASIZE - 1 ; i++){
work = ?;
over = bits[i + 1] >> (BITSIZE - n);
?;
}
work - bits[DATASIZE - 1] << n;
bits[DATASIZE - 1] = ?;
}

このコードが何を意味しているのかわかりません。
「?」に何が入るのか教えてください。。

質問者からの補足コメント

  • 下から三行目 
    work - bits[DATASIZE - 1] << n;は
           
    work = bits[DATASIZE - 1] << n;が正しいです。。すいません。

      補足日時:2017/05/17 20:24

A 回答 (2件)

機能:引数で渡されたbitを16桁のビット列(2進数文字列)として画面に出力。


   なお、ビット列の末尾には空白一文字を付加して出力。

これは、void disp_bit(unsigned short bit)の機能です。

void rotate_left(unsigned short bits[], int n )はどうなってますか。
    • good
    • 0

最初の?は mask >> 1



でしょう。

rotate_left は別の話なんでしょうね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!