Podręcznik
2. Kody numeryczne i arytmetyka cyfrowa
2.7. Zapis moduł znak
W powyżej przedstawiony w punktach 1-4 sposób reprezentujemy łatwo słowami nad ustalonym alfabetem liczby ze zbioru N ∪ {0} czyli liczby naturalne i zero. Zajmiemy się teraz sposobami reprezentowania liczb ujemnych. Rozszerzymy więc zbiór V1 liczb reprezentowanych na wszystkie liczby całkowite Z.
Omówimy 3 zasadnicze kody numeryczne służące do tego celu: tzw. zapis moduł znak (ang. sign magnitude notation), zapis uzupełnień do W, gdzie W jest wagą lub jak mówimy podstawą zapisu (w szczególności dla W=2 uzyskujemy zapis uzupełnień do 2), zapis uzupełnień do W-1 i jego szczególny przypadek zapis uzupełnień do 1.
Załóżmy, że mamy ustaloną wagę W ≥ 2 i chcemy zapisać liczbę całkowitą a za pomocą zapisu moduł znak. Postępujemy wówczas tak: zapisujemy za pomocą naturalnego zapisu wagowego z wagą W liczbę |a| uzyskując słowo an-1ak-1...a0, gdzie ai ∈ <0,W−1>.
Słowem reprezentującym liczbę a będzie słowo anan-1ak-1...a0, gdzie an ∈ {0,1} przy czym jeśli a ≥ 0 to an = 0 a jeśli a < 0 to an = 1.
Zauważmy, że zapis moduł znak jest na dobrą sprawę tym samym pomysłem co zapis liczb dziesiętnych ze znakiem jakim posługujemy się na co dzień.
Zapis moduł znak oczywiście może oczywiście tak zmodyfikować by był kodem o stałej długości słowa kodowego. Istotny staje się wówczas zakres zapisu moduł znak. Jeśli używamy n+1 bitów do zapisu słowa kodowego to zakres ten jest równy <−2n + 1,2n−1>.