Преобразование числа из прямого кода в дополнительный осуществляется по следующему алгоритму.
1.Если число, записаное в прямом коде, положительное, то к нему дописывается старший(знаковый)разряд, равный 0, и на этом преобразование заканчивается;
2.Если число, записаное в прямом коде, отрицательное, то все разряды числа
инвертируются, а к результату прибавляется 1. К получившемуся числу дописывается старший(знаковый) разряд, равный 1.
Ну и про перевод в обратный код можно посмотреть в учебнике или в инете и усё остается только написать требующиеся функции..