#include <stdio.h>
#include <stdint.h>
uint32_t convert_endian(uint32_t value) {
// Write logic to swap bytes
uint32_t ret = 0;
for (int i = 0; i < 32; i += 8) {
ret <<= 8;
ret |= ((value >> i) & 0xff);
}
return ret;
}
int main() {
uint32_t val;
scanf("%u", &val);
printf("%u", convert_endian(val));
return 0;
}
Solving Approach
Solution is more intuitive