20131219【C言語】バイトの上位4ビットと下位4ビットを入れ替える

お題

バイトの上位4ビットと下位4ビットを入れ替える

 

プログラム概要

文字を入力させ、その文字のビットを表示する。

その後、上位4ビットと下位4ビットを入れ替えて再度ビットを表示する

 

ソース

#include <stdio.h>

void show_binary(unsigned char u);

int main(void)
{
 unsigned char ch, t1, t2;
 printf("Please input character: ");
 scanf("%c", &ch);

 show_binary(ch);
 
 t1 = ch;
 t2 = ch;

 t1 <<= 4;
 t2 >>= 4;

 ch = t1 | t2;

 show_binary(ch);

 return 0;
}

 

void show_binary(unsigned char u)
{
 unsigned char n;

 for (n = 128; n > 0; n >>= 1)
  if (u & n)
   printf("1 ");
  else
   printf("0 ");
 
 printf("\n");

 return;
}

実行結果


Please input character: A
0 1 0 0 0 0 0 1
0 0 0 1 0 1 0 0