114. Little Endian to Big Endian

Back To All Submissions
Previous Submission
Next Submission

Code

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

uint32_t convert_endian(uint32_t value) {
    
    uint32_t val = 0;

    for( int i = 0 ; i < 4 ; i ++ )
    {
        uint32_t byte = value >>  (i * 8) & 0xFF ;
       // printf( " %d \n" , byte);
        byte <<= (24 - i*8) ; 
       // printf( " %d \n" , byte); 
        val |= byte;

    }

    return val;
}

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

Solving Approach


 

Was this helpful?
Upvote
Downvote