Kodowanie liczb ze znakiem


Tematy pokrewne

 

W poprzednim rozdziale przedstawiliśmy szczegółowo naturalny system binarny NBC (ang. Natural Binary Code). Jest on niezmiernie ważny dla informatyka, ponieważ stanowi punkt wyjścia większości innych systemów zapisu liczb. Jednakże NBC pozwala zapisywać tylko liczby dodatnie oraz liczbę zero. W przypadku liczb ujemnych mamy problem.

W tym momencie większość uczniów podrapie się za uchem i odpowie - jaki tam znowu problem, po prostu dopisujemy przed liczbą znak minus i załatwione, na przykład:

 

 -101(2) = -5(10).

Super. Ale tak można zrobić jedynie na papierze. Liczby binarne muszą być umieszczane w pamięci komputera, a tam mieszczą się tylko bity, czyli symbole 0 lub 1. Żaden bit nie przyjmuje stanu '-'. Mamy więc problem. A problem ten sprowadza się do wymyślenia takiego sposobu kodowania, aby za pomocą bitów można było zapisywać wartości ujemne. Sposobów wymyślono kilka i opiszemy je dokładnie w kolejnych podrozdziałach.

O ile system NBC był swobodny co do ilości bitów w zapisie liczby, to systemy kodowania liczb ze znakiem posiadają ściśle ustalone formaty, tzn. ilość bitów w zapisie liczby jest określona na stałe (8b, 16b, 32b, 64b itd.). Jest to konieczne, ponieważ zwykle najstarszy bit posiada inne znaczenie od pozostałych bitów liczby (nazywany jest on często bitem znaku - ang. sign bit) i musimy znać jego położenie, aby prawidłowo zinterpretować wartość liczby.

 


Zobacz dalej...

Zapis znak-moduł - ZM | Zapis uzupełnień do 1 - U1 | Zapis uzupełnień do 2 - U2 | Zapis dwójkowy z nadmiarem | Podsumowanie systemów dwójkowych

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2019 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe