Little Endian to Big Endian

Code

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

uint32_t convert_endian(uint32_t value) {
    // Write logic to swap bytes
    uint8_t dat1= value&0xff;
    uint8_t dat2= (value&0xff00)>>8;
    uint8_t dat3= (value&0xff0000)>>16;
    uint8_t dat4= (value&0xff000000)>>24;
    // printf("dat1=%u dat2=%u dat3=%u dat4=%u \n",dat1,dat2,dat3,dat4);
    return (dat1<<24)|(dat2<<16)|(dat3<<8)|dat4;
}

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