使用32位整数计算64位无符号整数乘法和减法

时间:2018-09-22 13:05:01

标签: c unsigned-integer bigint extended-precision

我有一个项目,仅使用c中的32位有符号/无符号整数来计算64位无符号整数加,乘和减。 这样重新定义了64位无符号整数:

typedef struct {
unsigned integer hi;
unsigned integer lo;
} Integer64;

所以64位整数只是一个将高32位存储在高位而将低32位存储在低位的结构。

现在我得到了这两个Integer64,我还必须以Integer64类型产生乘法和减法。 在乘法和减法函数中,只允许我使用Integer64类型,unsigned int类型,并且只能使用整数算术和逻辑运算。

我解决了如何编写加法函数,但不知道如何进行乘法和减法。你们可以帮忙吗?

0 个答案:

没有答案