#include <stdio.h> #include <stdint.h> #define MASK 0xFF void convert_to_big_endian(uint32_t value, uint8_t arr[4]) { for( int i = 0; i < 4; i++) { arr[ i ] = (value >> 24 - (i*8) ) & MASK; } /*arr[ 0 ] = (value >> 24) & MASK; arr[ 1 ] = (value >> 16) & MASK; arr[ 2 ] = (value >> 8) & MASK; arr[ 3 ] = (value >> 0) & MASK;*/ } int main() { uint32_t value; uint8_t arr[4]; scanf("%u", &value); convert_to_big_endian(value, arr); for (int i = 0; i < 4; i++) { printf("%u", arr[i]); if(i<3){ printf(" "); } } return 0; }
Test Cases
Test Results
Input
305419896
Expected Output
18 52 86 120