无符号类型是否始终存储有符号类型的值,反之亦然?我的意思不是算术价值,而是“原始价值”。
示例:
// Generic Integer (without sign saved)
typedef uintmax_t generic_int;
int16_t p = -17;
// Store int16_t in a generic int
generic_int myint = (generic_int)p;
稍后......
// Get the signed value again
int16_t plater = (int16_t)(myint & 0xFFFFULL);
这总是安全吗?在所有情况下都会恢复原始签名变量的正确值吗?