#include <stdio.h>
#include <stdint.h>
uint32_t convert_endian(uint32_t value) {
// Write logic to swap bytes
uint32_t reg = 0;
uint32_t mask = 0;
// uint4_t cn = 0x01111;
// printf("BD: %x\n", value);
for(int i = 0; i < 4; i++){
mask = (value & 0xFF);
// printf("%d\n", mask);
reg |= mask;
if(i == 3) continue;
reg <<= 8;
value >>= 8;
// printf("%u %u %u\n",mask ,value, reg);
}
return reg;
}
int main() {
uint32_t val;
scanf("%u", &val);
printf("%u", convert_endian(val));
return 0;
}
// 0001 0010 0011 0100 0101 0110 0111 1000
// Input: 305419896
// Output: 2018915346
// (0x12345678 → 0x78563412)
// Input: 1
// Output: 16777216
// (0x00000001 → 0x01000000)Input
305419896
Expected Output
2018915346