我所写的程序里,需要处理一个 乘法,其计算结果有可能超过 4个字节的限制。比如 99999999 * 9999 之类的。
这两个数的乘法的结果是 999899990001 即 0x E8 CEAF 07F1, 共 5 个字节。这个数, unsigned long 也是装不下的。
本打算,用两个 unsigned long 来装这个数,低4字节一个数,高4字节 向右移 32位,再装到另一个数里。
结果发现,上面这个数 不管怎么移位,最高字节 0xe8,都移不出来。
哪位高手处理类似的情况,指点一二,谢谢。
|