Il problema in generale mi sembra molto semplice, basta un for e poco altro. Per il resto, il complemento a due si ottiene effettuando il complemento a uno (con l'operatore ~) e aggiungendo 1.