输入:短ID (i.e. 1-1000000) 输出:定长的10位数ID 要求: 1.短ID与长ID不要是线性关系,就是不能完全成正比或者完全成反比 2.如果用到二进制操作,考虑64位的系统 3.短ID必须对应到不同的长ID
加一个掩码即可 直接使用uint64_t类型表示长ID,设计一个uint64_t的掩码,和短ID做XOR运算,不一定是低位对齐XOR,也可以放在中间两个字节。 长ID是定长的十进制10位,那就把对应的二进制最大最小值算出来,用于设计掩码,即可解决。
加一个掩码即可
直接使用uint64_t类型表示长ID,设计一个uint64_t的掩码,和短ID做XOR运算,不一定是低位对齐XOR,也可以放在中间两个字节。
长ID是定长的十进制10位,那就把对应的二进制最大最小值算出来,用于设计掩码,即可解决。