我想从另一个 16 位无符号整数列表中推导出一个 16 位无符号整数列表。
例如,给定列表:
10000, 12349, 32333, 3342
我知道另一个列表的第一个整数是 0,现在我想推导出其余的。映射是从它们中减去 10000,我得到了
0, 2349, 22333, 58878
其中 58878 = (3342-10000+65536) 模 65536 作为包装的结果。
伪代码是这样的:</p>
void deduce(u_int16_t list1[100], u_int16_t *list2[100], u_int16_t first)
{
int diff = first - list1[0];
for (i = 0; i < 100; i++)
(*list2)[i] = (list1[i] + diff + 65536) % 65536;
}
但我们知道无符号整数中没有负数。
那么如何进行映射(或演绎)?
谢谢!