16進数 → 2進数 変換

16進数 → 2進数 変換
再作成することがあるので記載。

#include <stdio.h>
#include <string.h>

int main(void)
{
char hex;
char binary[5];

scanf("%c", &hex);

switch(hex)
{
                case '0': 
                        strcpy(binary, "0000");
                        break;
case '1':
strcpy(binary, "0001");
break;
case '2':
strcpy(binary, "0010");
break;
                case '3':
                        strcpy(binary, "0011");
                        break;
                case '4':
                        strcpy(binary, "0100");
                        break;
                case '5':
                        strcpy(binary, "0101");
                        break;
                case '6':
                        strcpy(binary, "0110");
                        break;
                case '7':
                        strcpy(binary, "0111");
                        break;
                case '8':
                        strcpy(binary, "1000");
                break;
case '9':
                        strcpy(binary, "1001");
                        break;
case 'a':
case 'A':
strcpy(binary, "1010");
break;
                case 'b':
case 'B':
                        strcpy(binary, "1011");
                        break;
                case 'c':
case 'C':
                        strcpy(binary, "1100");
                        break;
                case 'd':
case 'D':
                        strcpy(binary, "1101");
                        break;
                case 'e':
case 'E':
                        strcpy(binary, "1110");
                        break;
                case 'f':
case 'F':
                        strcpy(binary, "1111");
                        break;
}

printf("%s", binary);

return 0;
}