Aditivní kódování

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Aditivní kódování (také kódování s posunutou nulou) je označení pro způsob, kterým jsou kódovány některé datové typy pro reprezentaci celých čísel. Je alternativou k jiným integerovým datovým typům podporujícím záporná čísla, například k dvojkovému doplňku. Záporná čísla jsou v aditivním kódování ukládána s přičtením takové konstanty, aby nejnižší reprezentovatelné záporné číslo odpovídalo nule, a následně je využita obvyklá metoda reprezentace nezáporných čísel.

Hodnota této konstanty, označovaná také posun (případně ofset nebo ), je pro datové typy o n bitech volena obvykle 2^{n-1}, tedy v dvojkovém zápise odpovídá nule zápis s nejvýznamnějším bitem jedničkovým a ostatními nulovými a největšímu reprezentovatelnému číslu odpovídá zápis se samými jedničkami. Při této volbě je snadný převod mezi aditivním kódováním a dvojkovým doplňkem změnou nejvýznamnějšího bitu.

Mezi výhody aditivního kódování patří skutečnost, že posun kromě slučitelnosti s sčítáním a odčítáním také zachovává uspořádání, tedy pro vyhodnocení nerovnosti čísel v aditivní notaci lze přímo použít srovnávání naprogramované pro nezáporná čísla v obvyklém dvojkovém kódování.

Historicky významným příkladem aditivního kódování je Stibitzův kód používaný v historických počítačích, který je na čtyřech bitech s posunem tři. Aktuálním případem používání jsou mnohé formáty čísel s pohyblivou řádovou čárkou, kde je aditivní kódování používáno pro uložení exponentu: Takto ukládá exponent standard IEEE 754.

Následující tabulka uvádí příklad pro čtyřbitová čísla:

Desítkový zápisAditivní kódování s posunem 8Dvojkový doplněk
711110111
611100110
511010101
411000100
310110011
210100010
110010001
010000000
−101111111
−201101110
−301011101
−401001100
−500111011
−600101010
−700011001
−800001000

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top