умножение чисел фиксированной разрядности тоже выводит
Произведение чисел из интервала

принадлежит этому же интервалу, а вот сумма - нет.
Я о том, что для хранения результата произведения восьмибитных чисел нужно в общем случае 16 бит. Сложение тоже может не войти.
Повозился с сабжем еще. Литературу пока не искал.
Хотя технически такие числа легче хранить как биты, записывать лучше наверное какими-то буквами, т.к. иначе в арифметике дикость получается. Можно записывать буквами

(-1) и

(+1) по аналогии с проекцией спина 1/2 в квантовой механике.
Умножение реализуется несложно - столбиком. Одно из чисел раскладываем по разрядам, умножение на

какого-то разряда есть сдвиг, умножение на

- сдвиг и изменение знака, последнее достигается инверсией всех разрядов. При сдвиге в освободившиеся разряды помещается не "0", а пустота (

).
Со сложением немного сложнее, эта сложность сказывается и на умножении, т.к. для получения результата нужно сложить поразрядные произведения. Арифметика такая:

(т.е.

переносится в старший разряд, в этом остается

),

аналогично,

,

, с

аналогично. Если в разряде получается

, "занимаем" (!) (причем что мы занимаем? не числа, а возможность их записи.) в младшем разряде: если там

, пишем

(т.е. в младший разряд пишем

), если там

- пишем

.