Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <inttypes.h>
- int calc_byte(uint32_t);
- int main () {
- uint32_t hex, shift, num_b2, num_b4, num_b8, num_b16;
- int counter;
- printf("Give the hex number: ");
- scanf("%08x",&hex);
- //printf("Shifted right by: ");
- //scanf("%08x",&shift);
- //hex = 0xeeccffaa;
- uint32_t mask = 0x0000000f;
- uint32_t mask2 = 0x0000000f;
- for (counter = 0; counter <= 28; counter = counter + 4) {
- num_b4 = (mask2 & hex) >> counter;
- mask2 = mask2 * 0x00000010 + 0x0000000f;
- printf("%x\t",num_b4);
- }
- printf("\n");
- for (counter = 0; counter <= 28; counter = counter + 4) {
- num_b2 = (hex & mask) >> counter;
- mask = mask * 0x00000010 + 0x0000000f;
- calc_byte(num_b2);
- }
- printf("\n");
- }
- int calc_byte(uint32_t byte) {
- switch(byte) {
- case 0x00: printf("0000\n"); break;
- case 0x01: printf("0001\t"); break;
- case 0x02: printf("0010\t"); break;
- case 0x03: printf("0011\t"); break;
- case 0x04: printf("0100\t"); break;
- case 0x05: printf("0101\t"); break;
- case 0x06: printf("0110\t"); break;
- case 0x07: printf("0111\t"); break;
- case 0x08: printf("1000\t"); break;
- case 0x09: printf("1001\t"); break;
- case 0x0A: printf("1010\t"); break;
- case 0x0B: printf("1011\t"); break;
- case 0x0C: printf("1100\t"); break;
- case 0x0E: printf("1011\t"); break;
- case 0x0F: printf("1111\t"); break;
- default: printf("Not byte found? :o\n");
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment