Little Endian to Big Endian

Code

#include <stdio.h>
#include <stdint.h>

uint32_t convert_endian(uint32_t value) {
    // Write logic to swap bytes

    uint32_t ex1;
    uint32_t ex2;
    uint32_t ex3;
    uint32_t ex4;

    ex1 = value & 0x000000FF;
    ex2 = value & 0xFF000000;
    ex1 = ex1<<24;
    ex2 = ex2>>24;

    ex3 = value & 0x0000FF00;
    ex4 = value & 0x00FF0000;

    ex3 = ex3<<8;
    ex4 = ex4>>8;

    uint32_t ans;
    ans = ex1 | ex2 | ex3 |ex4;

    return ans;



    return 0;
}

int main() {
    uint32_t val;
    scanf("%u", &val);
    printf("%u", convert_endian(val));
    return 0;
}

Solving Approach


 

Upvote
Downvote
Loading...

Input

305419896

Expected Output

2018915346