#include <stdio.h> #include <stdint.h> void convert_to_big_endian(uint32_t value, uint8_t arr[4]) { // Your code here uint32_t pre = 0x0000FF; uint32_t kq; //0x12345678 = 0001 0010 0011 0100 0101 0110 0111 1000 for(int i =0; i <=31;i+=8){ kq = value & (0x0000FF<<i); // Nếu 4 sẽ vượt mang 1 2 3 4 mà mảng từ 0 1 2 3 arr[3 - i /8]= (kq>>i); } } 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