#include <stdio.h>
#include <stdint.h>
void convertUint16ToUint8(uint16_t* tempArray, uint8_t* tempBuffer, size_t length) {
for (size_t i = 0; i < length; i++) {
tempBuffer[2 * i] = (uint8_t)(tempArray[i] >> 8); // High byte
tempBuffer[2 * i + 1] = (uint8_t)(tempArray[i] & 0xFF); // Low byte
}
}
int main() {
uint16_t tempArray[8] = {0x1234, 0x5678, 0x9ABC, 0xDEF0, 0x1122, 0x3344, 0x5566, 0x7788};
uint8_t tempBuffer[16];
convertUint16ToUint8(tempArray, tempBuffer, 8);
// Print the result
for (int i = 0; i < 16; i++) {
printf("%02X ", tempBuffer
[i
]); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KCnZvaWQgY29udmVydFVpbnQxNlRvVWludDgodWludDE2X3QqIHRlbXBBcnJheSwgdWludDhfdCogdGVtcEJ1ZmZlciwgc2l6ZV90IGxlbmd0aCkgewogICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgIHRlbXBCdWZmZXJbMiAqIGldID0gKHVpbnQ4X3QpKHRlbXBBcnJheVtpXSA+PiA4KTsgIC8vIEhpZ2ggYnl0ZQogICAgICAgIHRlbXBCdWZmZXJbMiAqIGkgKyAxXSA9ICh1aW50OF90KSh0ZW1wQXJyYXlbaV0gJiAweEZGKTsgIC8vIExvdyBieXRlCiAgICB9Cn0KCmludCBtYWluKCkgewogICAgdWludDE2X3QgdGVtcEFycmF5WzhdID0gezB4MTIzNCwgMHg1Njc4LCAweDlBQkMsIDB4REVGMCwgMHgxMTIyLCAweDMzNDQsIDB4NTU2NiwgMHg3Nzg4fTsKICAgIHVpbnQ4X3QgdGVtcEJ1ZmZlclsxNl07CgogICAgY29udmVydFVpbnQxNlRvVWludDgodGVtcEFycmF5LCB0ZW1wQnVmZmVyLCA4KTsKCiAgICAvLyBQcmludCB0aGUgcmVzdWx0CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDE2OyBpKyspIHsKICAgICAgICBwcmludGYoIiUwMlggIiwgdGVtcEJ1ZmZlcltpXSk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=