C program that takes a 2 digit hexadecimal number and display it in binary format
Posted by Samath
Last Updated: January 01, 2017

Write a C program that takes a 2 digit hexadecimal number from the user through console and display it in binary format.

Code:

  1. #include <stdio.h>
  2. int main (int argc, char * const argv[]) {
  3. // In this part we create an array of 2 characters
  4. char number[2];
  5. int i;
  6. printf("Please enter a 2 digit hexadecimal number\n");
  7. // Here it scans the number given and stores it in the array
  8. scanf("%s", number);
  9. // It starts to create a loop from 0 to 2 checking each number
  10. for(i=0; i<2; i++){
  11. //If the number is equal to one number in hexadecimal it print in
  12. //the binary format
  13. if(number[i] == '0'){
  14. printf("0000");
  15. }
  16. else if(number[i] =='1'){
  17. printf("0001");
  18. }
  19. else if(number[i] == '2'){
  20. printf("0010");
  21. }
  22. else if(number[i] == '3'){
  23. printf("0011");
  24. }
  25. else if(number[i] == '4'){
  26. printf("0100");
  27. }
  28. else if(number[i] == '5'){
  29. printf("0101");
  30. }
  31. else if(number[i] == '6'){
  32. printf("0110");
  33. }
  34. else if(number[i] == '7'){
  35. printf("0111");
  36. }
  37. else if(number[i] == '8'){
  38. printf("1000");
  39. }
  40. else if(number[i] == '9'){
  41. printf("1001");
  42. }
  43. else if(number[i] == 'A' || number[i] == 'a'){
  44. printf("1010");
  45. }
  46. else if(number[i] == 'B' || number[i] == 'b'){
  47. printf("1011");
  48. }
  49. else if(number[i] == 'C' || number[i] == 'c'){
  50. printf("1100");
  51. }
  52. else if(number[i] == 'D' || number[i] == 'd'){
  53. printf("1101");
  54. }
  55. else if(number[i] == 'E' || number[i] == 'e'){
  56. printf("1110");
  57. }
  58. else if(number[i] == 'F' || number[i] == 'f'){
  59. printf("1111");
  60. }
  61.  
  62. else {
  63. printf( "You did not follow the rules\n" );
  64. }
  65. }
  66. printf( "\n" );
  67. return 0;
  68. }