#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;
}
Input
305419896
Expected Output
18 52 86 120