0
我需要表示一個128位無符號整數並將其傳遞給原型爲int lib_api(unsigned char *data, size_t len)
的API。我已經記住以下幾點:存在128位長數據
union {
unsigned char u8[16];
uint16_t u16[8];
uint32_t u32[4];
};
或
struct {
uint64_t hi;
uint64_t lo;
};
什麼選擇會更容易使用和實施?我知道有gcc特定的128位類型,但我希望有更多的便攜式實現。
感謝。
謝謝你的評論。在結構中放入「無符號字符值[16]」有什麼好處? – Mark
@Mark Arrays通過引用傳遞,結構按值傳遞。如果類型表示一個整數,你通常需要傳遞它_by value_ - 使用一個結構體給你這種可能性(同時你仍然可以輕鬆地傳遞指針)。 – aaaaaa123456789