#include <stdio.h> #include <stdint.h> uint32_t convert_endian(uint32_t value) { uint32_t temp1,temp2; //0x12345678 → 0x78563412 // Write logic to swap bytes temp1 = value & 0xFF; temp2 = (value >> 24) & 0xFF; value &= ~(0xFF); value &= ~(0xFF000000); value |= temp2 << 0; value |= temp1 << 24; temp1 = (value >> 8) & 0xFF; temp2 = (value >> 16) & 0xFF; value &= ~(0xFF00); value &= ~(0xFF0000); value |= temp1 << 16; value |= temp2 << 8; return value; } int main() { uint32_t val; scanf("%u", &val); printf("%u", convert_endian(val)); return 0; }
Test Cases
Test Results
Input
305419896
Expected Output
2018915346