Liczba ZM (Znak moduł) są zapisane w formie binarnej w taki sposób że pierwszy bit z lewej strony MSB,
czyli najbardziej znaczący bit mający największą wartość w systemie binarnym, stanowi znak liczby,
a reszta bitów stanowi moduł, czyli wartość liczby.
Np.: liczba 0101 to liczba +5 , a 1101 to liczba -5.
Warto też zaznaczyć system w jakim jest zapisana liczba. Np przekształcając system 10-tny na binarny w zapisie ZM:
-9(10) = 1.1001(ZM) - gdzie kropka oddziela znak liczby od modułu.
Zamianę liczby (10) => (Bin) można przećwiczyć tutaj .
Liczba ZU1 - Znak-Moduł z uzupełnieniem do 1
Liczby ZU1 są liczbami typu ZM z tą różnicą, że bity modułu liczby ujemnej są zanegowane.
Czyli liczbę -9(10) zapiszemy 1.1001(ZM) => 1.0110(ZU1).
Operację tą wykonuje się po to, aby uniknąć odejmowania i zastosować tylko dodawanie liczb binarnych.
(dodatnia ZM = ZU1 i można ją wyznaczyć tutaj )
Zamień ujemną liczbę dziesiętną na ZU1:
Binarnie: 0.0 (ZU1)
Liczba ZU2 - Znak-Moduł z uzupełnieniem do 2
Liczba binarna ZU2 dodatnia jest taką samą liczbą jak ZM.
Liczbę binaną ujemną uzyskujemy przez zanegowanie wszystkich bitów z wyjątkiem bitu LSB,
czyli bitu o najmniejszej wadze.
Np. -9(10) zapiszemy jako 1.1001(ZM) = 1.0111(ZU2)
Np. -8(10) zapiszemy jako 1.1000(ZM) = 1.0110(ZU2)
W celu wykanania obliczeń i sprawdzenia się wystarczy posłużyć się powyższym formularzem pamiętając,
aby po obliczeniach przy liczbie ujemnej odwrócić bit LSB (jeżeli jest 0 to wpisz: 1, a jeżeli jest 1 to wpisz: 0)