#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 < 32; i += 8) // { // int k = 3; // uint32_t mask = ((1 << 8) - 1) << i; // arr[k - i/8] = (value & mask) >> i; // } for (int i = 0; i < 4; i++) arr[3 - i] = (value >> (i * 8)) & 0xFF; } 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