#include <iostream>
#include <cstdint>
using namespace std;
// Alias for a fixed-size array of 8 bytes
using Packet = uint8_t[8];
int main() {
Packet pkt;
int temp[8];
// Read input into integer array
for (int i = 0; i < 8; i++) {
cin >> temp[i];
}
// Explicitly cast integers into byte buffer
for (int i = 0; i < 8; i++) {
pkt[i] = static_cast<uint8_t>(temp[i]);
}
// Print numeric values
for (int i = 0; i < 8; i++) {
cout << static_cast<unsigned int>(pkt[i]);
if (i < 7) {
cout << " ";
}
}
return 0;
}
Explanation & Logic Summary:
using Packet = uint8_t[8]; creates a clear, firmware-style name for a fixed byte bufferint to uint8_t is done deliberately using static_castunsigned int ensures numeric output rather than character outputFirmware Relevance & Real Embedded Meaning:
Input
10 20 30 40 50 60 70 80
Expected Output
10 20 30 40 50 60 70 80