Tip:
Highlight text to annotate it
X
JAMES CLEWETT: Dnes budeme mluvit o Pac-Manovi, což
je hra z počátku 80. let a očividně
jedna z průkopníků.
[ZVUKY VIDEO HRY]
Něco, co pravděpodobně většina lidí neví,
protože většina lidí netráví notoricky svůj čas
hraním video her, je, že Pac-Man skončí
na úrovni 255.
My se dnes budeme bavit o čísle 255.
BRADY HARAN: Dostal jsi se někdy na úroveň 255?
JAMES CLEWETT: Ne.
Pac-Man není moje hra, takže jsem se dostal někam na 20 nebo 30
a potom většinou potřebuju na záchod, takže.
Myslím, že to souvisí se způsobem, jakým
byly mikročipy navrženy počátkem 80. let.
Všechny byly jenom 8 bitové.
A to znamená, že uvnitř měly osm cest
pro přenos čísel, což omezovalo
možnosti počítačů.
Teď vám ukážu, jak a proč
to počítače omezovalo.
No, takže začnu tím, že vám ukážu,
jak počítače počítají.
Počítače počítají ve dvojkové soustavě, což v podstatě znamená,
že mají buď zapnuto nebo vypnuto.
Takže začněme s vypnuto.
A budeme se tvářit, že máme
počítač se 4 bity.
A pro číslo 0 každá z těchto číslic bude 0.
A teď začnu přičítat čísla
ke sloupci vpravo.
Přičtu 1 k 0 a zbytek čísel
zůstane stejný.
A tohle je číslo 1.
Tak a teď budeme chtít přičíst další 1, abychom
dostali číslo 2.
Takže když k tomuhle slopci přičtu 1, v binární soustavě
už tady není místo.
Dobře, takže co musíme udělat, je přenést tuhle 1
do dalšího sloupce, přesně jako při přičtení 1 k 9
v desítkové soustavě.
Takže přičtu 1, to mi dá 0 a přenesu 1
do dalšího sloupce.
A zbytek sloupců zůstane stejný.
A to je číslo 2.
No, a pro číslo 3 přičteme 1 k téhle 2,
takže 0 plus 1 je 1.
Tenhle sloupec se nezmění a tyhle
sloupce se nezmění.
Dobře, takže teď číslo 4.
No, to je 3 plus 1.
Takže přičtu 1 k tomuhle sloupci a ta se musí přenést.
Takže dostaneme 0, což znamená, že přičtu 1 k tomuto sloupci
a zase se musí přenést.
Takže mám další 0 a přenáším do tohohle sloupce.
A tohle se zase nezmění.
To je číslo 4.
Dobře, tak si proleťme pár dalších.
Napíšu číslo 6, což je 0, 1, 1, 0.
Číslo 7, 0, 1, 1, 1.
Číslo 15, 1, 1, 1, 1.
A pak se dostaneme k číslu 16 a máme problém.
OK, protože chci přičíst 1 k tomuto sloupci,
což znamená přenos, což znamená, že přičtu 1 sem.
Musí se přenést.
Přičtu 1 sem, musí se přenést.
Přičtu 1 k tomuto sloupci, přenáší se.
Došlo nám místo.
Už nemám slupec, ke kterému bych to přičetl.
Protože chci přičíst 1 sem.
Ale tohle místo z pohledu počítače
prostě neexistuje.
Takže co se stalo?
Přeskočili jsme zpátky tam, kde jsme začali.
Došli jsme do slepé uličky a můžeme napočítat jenom do 15
s použitím 4 bitů.
A teď bych tohle chtěl aplikovat na Pac-Manův
problém, OK?
Takže Pac-Man měl mikroprocesor, který byl
8 bitový mikroprocesor, ne 4 bitový mikroprocesor.
A to tedy znamená, že když chceme reprezentovat
číslo 0, potřebujeme osm nul.
1, 2, 3, 4, 1, 2, 3, 4.
Dobře, zkusme to znovu.
Číslo 1.
A co číslo 2?
Tady budu hodně čmárat, ale dobře.
Udělám číslo 8.
A teď trochu přeskočme k tomu, jak bude vypadat
číslo 253.
OK, takže tady se už blížíme ke konci.
1, 0, 1.
Dobře, číslo 254.
Číslo 255.
A dostali jsme se zpět k našemu
známému problému.
Když chci napočítat 256, pojďme na to.
Přičtu 1 k 255.
Takže se to přenese tady, tady se to přenese,
přenese se to tady a tady.
A zase, přenos tady, tady, tady a tady.
A chci dát 1 sem.
Ale počítač, Pac-Man, prostě nemá dostatečně velké číslo,
aby tu hodnotu uložil.
A jsme nahraní.
OK, tak to je všechno.
To je důvod, proč 8 bitové počítače umí počítat
jenom do 255.
A jako malý jsem tím byl fascinovaný.
Absolutně fascinovaný, ale trvalo mi 15 let, než jsem
to pochopil, abych vám to mohl vysvětlit.