在 8 位元 Motorola 6809 处理器上,有道指令叫做 SEX,寓意是 “Sign EXtend”
SEX 123 应该输出 0, 而 SEX -3 要输出 0xffffffff (取决于有效位数)
考虑一个 32 位元版本的 SEX 实作如下,假设执行环境是 little-endian:
#include <stdint.h>
static inline uint32_t sex32(int32_t x) {
union {
TYPE w;
struct { uint32_t lo, hi; };
} z = {.w = x};
return z.hi;
}
试问: TYPE=?
第一个留下正确答案和地址的推文赠20000 satoshi
Answer:
uint64_t或int64_t
lilian0111 & akuei1031 各解出一半,得 10000 satashi
TXID
b153cdf0174f82ec9b7f0eb699e814f4d6b565dbfbb936cbbdb971dd34ebec00