Вычисление умножения и вычитания 64-разрядного целого числа без знака с использованием 32-разрядных целых чисел
У меня есть проект для вычисления 64-разрядных целых чисел без знака, умножения и вычитания с использованием только 32-разрядных целых чисел со знаком / без знака в c. 64-разрядное целое число без знака заново определяется следующим образом:
typedef struct {
unsigned integer hi;
unsigned integer lo;
} Integer64;
64-разрядное целое число - это просто структура, в которой верхний 32-битный хранится в верхнем, а нижний 32-битный - в нижнем.
Теперь я получаю эти два Integer64, и я должен произвести умножение и вычитание также в типе Integer64. В функции умножения и вычитания мне разрешено использовать только тип Integer64, тип unsigned int и только целочисленные арифметические и логические операции.
Я решил, как написать функцию сложения, но понятия не имею, как делать умножение и вычитание. Ребята, вы можете помочь?