Znaménkový bit je první bit v bajtu. Př.:
| 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
V tomto případě je znaménkový bit nula. Je-li ve znaménkovém bitu nula, číslo je kladné, je-li ve znaménkovém bitu jedička, jedná se o záporné číslo - jednička ve znaménkovém bitu slouží jako znaménko minus před číslem, proto znaménkový bit. Přičemž záporná čísla mají vlastní kódování.
Chceme-li převést kladné číslo na záporné, děláme to pomocí dvojkového doplňku, jehož princip jsme si vysvětlili při odčítání (krok 2 a 3), tj: invertujeme bity, přičteme jedničku.
Příklad: převedeme číslo 1 na číslo -1. (Znaménkové bity jsou vyznačeny tučně)
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| číslo 1 |
| inverze bitů |
| přičteme jedničku |
| výsledek |
Problém ale nastane, chceme-li například sečíst čísla 127 + 2:
| 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Ve výsledku je ve znaménkovém bitu jednička, což by znamenalo, že vyšlo záporné číslo. Součet dvou kladných čísel ale logicky nemůže být záporný. Došlo tedy k přetečení. Počítač řeší tuto situaci tím, že použije další bajt, protože tato informace se do jednoho bajtu zkrátka nevejde,
Počítač pro přetečení vždy informaci zapíše do dvojnásobného počtu bitů - počítám-li tedy s osmi bity (jednobajtovou informací) a dojde k přetečení, informaci zapíšu do dvojnásobného množství bitů, tedy do šestnácti bitů (dvou bajtů).
Pro výslednou informaci vždy nastane jedna z následujících možností:
| DO | ZE | Důsledek |
| 0 | 0 | nic se neděje |
| 1 | 0 | přetečení! |
| 0 | 1 | přetečení! |
| 1 | 1 | nic se neděje |
(DO označuje přenos do znaménkového bitu, ZE označuje přenos ze znaménkového bitu)
Je-li tedy přenos do znaménkového bitu 1 a ze znaménkového bitu 0, nebo naopak, dojde k přetečení.
Tip: Představte si to jako jízdu autobusem. Při
zastavení na stanici také nastane jedna ze čtyř možností:
1. Nikdo nevystoupí, nikdo nenastoupí (počet cestující stále
stejný).
2. Jeden člověk vystoupí (počet cestujících se změnil).
3. Jeden člověk nastoupí (počet cestujících se změnil).
4. Jeden člověk nastoupí jeden vystoupí (počet cestujících je stále
stejný).
Komentáře
A co když vystoupí víc lidí než nastoupí najednou? :D... nn to je jen legrace, a jak by se dalo udělat sčítání pokud by kód byl kódován přes multiplexor?
A ještě jsem se chtěl zeptat jak jsi udělal tu fan stránku na facebook, nenašel jsem tam nikde generování.
A rada na závěr - dej si sem captcha obrázky k potvrzování komentářů. Stránek přes blog mam víc a z vlastní zkušenosti ti můžu říct, že je jen otázka času než to spamovací boti objeví :)
Prosím o odpověď ohledně toho facebooku, pak mi tento komentář klidně smaž. Díky
Rass
Díky za připomínku, nevšliml jsem si té chyby. Samožřejmě může do autobusu nastoupit/vystoupit více lidí než jeden. Takové možnosti ovšem počítač nemá. Tam je jen 1 a 0, takže buď jeden, nebo nikdo =).
Jinak multiplexor vůbec neznám a ani nevím, k čemu to slouží.
Jak vložit Facebook tlačítko se dozvíš tady:
http://www.seo-slovnik.cz/tlacitko-libi-...
Díky zaradu, se spamy zatím nemám problém. Až tu v budoucnu na nějaké narazím, captcha pochopitelně zapnu, zatím to ale není nutné.
Okem
thx za tlačítko :)