Guest User

Untitled

a guest
Jun 25th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.45 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <inttypes.h>
  4.  
  5. int calc_byte(uint32_t);
  6.  
  7. int main () {
  8.  
  9.     uint32_t hex, shift, num_b2, num_b4, num_b8, num_b16;
  10.     int counter;
  11.  
  12.     printf("Give the hex number: ");
  13.     scanf("%08x",&hex);
  14.     //printf("Shifted right by: ");
  15.     //scanf("%08x",&shift);
  16.     //hex = 0xeeccffaa;
  17.  
  18.     uint32_t mask = 0x0000000f;
  19.     uint32_t mask2 = 0x0000000f;
  20.     for (counter = 0; counter <= 28; counter = counter + 4) {
  21.  
  22.         num_b4 = (mask2 & hex) >> counter;
  23.         mask2 = mask2 * 0x00000010 + 0x0000000f;
  24.         printf("%x\t",num_b4);
  25.  
  26.  
  27.     }
  28.     printf("\n");
  29.  
  30.     for (counter = 0; counter <= 28; counter = counter + 4) {
  31.         num_b2 = (hex & mask) >> counter;
  32.         mask = mask * 0x00000010 + 0x0000000f;
  33.         calc_byte(num_b2);
  34.     }
  35.     printf("\n");
  36. }
  37.  
  38.  
  39. int calc_byte(uint32_t byte) {
  40.  
  41.     switch(byte) {
  42.         case 0x00:  printf("0000\n"); break;
  43.         case 0x01:  printf("0001\t"); break;
  44.         case 0x02:  printf("0010\t"); break;
  45.         case 0x03:  printf("0011\t"); break;
  46.         case 0x04:  printf("0100\t"); break;
  47.         case 0x05:  printf("0101\t"); break;
  48.         case 0x06:  printf("0110\t"); break;
  49.         case 0x07:  printf("0111\t"); break;
  50.         case 0x08:  printf("1000\t"); break;
  51.         case 0x09:  printf("1001\t"); break;
  52.         case 0x0A:  printf("1010\t"); break;
  53.         case 0x0B:  printf("1011\t"); break;
  54.         case 0x0C:  printf("1100\t"); break;
  55.         case 0x0E:  printf("1011\t"); break;
  56.         case 0x0F:  printf("1111\t"); break;
  57.         default:        printf("Not byte found? :o\n");
  58.     }
  59.     return 0;
  60. }
Add Comment
Please, Sign In to add comment