因此,我试图将十进制格式转换为大小为8的uint8_t十六进制数组,但是我不确定如何这样做。我的意思的几个例子:
有什么建议吗?
我认为简单,幼稚的方法是:
int main() {
int convert = 2587;
#define OUTSIZE 8
uint8_t out[OUTSIZE];
for (int i=OUTSIZE; i>0; i--) {
out[i-1] = convert%0x100;
convert >>= 8;
}
}
但是根据this answer,工会可能更适合您:
union {
uint64_t num;
uint8_t byte[8];
} foo;