Znaménkový bit a přetečení

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ý).

Rubriky:

Komentáře

Rass
před rokem

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

Okem
před rokem

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

Rass
před rokem

thx za tlačítko :)

*
*
Překročil(a) jsi maximální délku komentáře o 5 znaků.
*  Opište slovo na obrázku

Archív

Rozvoj kterého typu poznatků byste na Okem Imperiu nejvíce uvítali?

5%
14%
16%
23%
5%
20%
7%
9%

Novinky

27.01.2012 - Lidské tělo!

Začínáme se základními informacemi o lidském těle. Pokud máte k článkům co doplnit, neváhejte a napište mi :-)

01.11.2011 - Biologie

Začíná se rozrůstat nová rubrika - biologie!

20.10.2011 - Jsem zpátky

Tak jsem konečně zase tady a chystám se zrenovovat tento web, přidat spoustu dalších zajímavých příspěvků a stránek.

Facebook