#include <stdio.h> #include <stdint.h> void convert_to_big_endian(uint32_t value, uint8_t arr[4]) { // Your code here for (int i = 0; i < 4; i++) { arr[i] = 0; } for(int i=0;i<32;i++){ if((i>=0) && (i<8) && (value & (1<<i))){ arr[3] |= (1<<i); } if((i>=8) && (i<16) && (value & (1<<i))){ arr[2] |= (1<<(i-8)); } if((i>=16) && (i<24) && (value & (1<<i))){ arr[1] |= (1<<(i-16)); } if((i>=24) && (i<32) && (value & (1<<i))){ arr[0] |= (1<<(i-24)); } } } 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