-\h{Sèítání dvou binárních èísel}
-
-Mìjme dvì èísla zapsané ve~dvojkové soustavì jako $x_{n-1}\ldots x_1x_0$ a $y_{n-1}\ldots y_1y_0$.
-Budeme chtít spoèítat jejich souèet $z_nz_{n-1}\ldots z_1z_0$.
-
-\h{Algoritmus základní ¹koly}
-Pøenosy oznaèíme $c_0$ a¾ $c_{n-1}$ v krocích poèítání, dodefinujeme $c_{-1}=0$. Algoritmus probíhá zleva od místa s nejni¾¹í vahou, viz Obrázek 1.7.
-
-Výsledné èíslo $z_{n}...z_1z_0$ lze tedy vyjádøit pøedpisem: $$z_i=x_i \oplus y_i \oplus c_{i-1},$$ kde $\oplus$ znaèí operaci XOR. Pøenos nastane, pokud jsou alespoò dvì èísla jednièky, tedy
-$$c_i=(x_i \land y_i)\lor((x_i \lor y_i) \land c_{i-1})$$.
-\figure{1_6_hloupe_scitani.eps}{Obrázek 1.7 -- Sèítání}{8cm}
-Bohu¾el na to abychom spoèítali $z_i$ musíme znát hodnotu $c_{i-1}$, tedy mít spoèítané hodnoty pro v¹echny èísla men¹í ne¾ $i$. To dává lineární èasovou slo¾itost. Zamysleme se nad tím jak by se proces sèítání mohl zrychlit.
-
-\h{Trik -- chování blokù souètu}
-
-\figure{1_7_blok_scitani.eps}{Obrázek 1.8 -- Blok souètu}{8cm}
-\>Blok se mù¾e chovat tøemi rùznými zpùsoby:
-
-\numlist{\ndotted}
-\:V¾dy vydá pøenos 0,
-\:V¾dy vydá pøenos 1,
-\:Kopíruje (pøedá dál).
+\h{Sèítání binárních èísel}
+
+Pojïme se podívat na~zajímavìj¹í problém: Mìjme dvì èísla zapsané ve~dvojkové
+soustavì jako $x_{n-1}\ldots x_1x_0$ a $y_{n-1}\ldots y_1y_0$. Budeme chtít
+spoèítat jejich souèet $z_nz_{n-1}\ldots z_1z_0$.
+
+Samozøejmì mù¾eme pou¾ít algoritmus \uv{sèítání pod sebou}, který nás
+uèili na~základní ¹kole. Formálnì by se dal zapsat tøeba takto:
+$$
+z_i=x_i \oplus y_i \oplus c_{i-1},
+$$
+kde $\oplus$ znaèí operaci {\sc xor} (souèet modulo~2) a $c_{i-1}$ je {\I pøenos} z~$(i-1)$-ního
+øádu do~$i$-tého. Pøenos pøitom nastane tehdy, kdy¾ ze~tøí xorovaných èíslic
+jsou alespoò dvì jednièky:
+$$
+\eqalign{
+c_{-1} &= 0 \cr
+c_i &= (x_i \land y_i)\lor((x_i \lor y_i) \land c_{i-1}).\cr
+}
+$$
+
+\figure{1_6_hloupe_scitani.eps}{Sèítání ze~základní ¹koly}{8cm}
+
+Bohu¾el na to, abychom spoèítali $c_i$ (a~tedy~$z_i$), musíme znát hodnotu $c_{i-1}$, tedy mít
+spoèítané hodnoty pro v¹echny èísla men¹í ne¾ $i$. To dává lineární èasovou
+slo¾itost. Zamysleme se nad tím, jak by se proces sèítání mohl zrychlit.
+
+\h{Pøenosy v~blocích}
+
+Jediné, co nás pøi sèítání brzdí, jsou pøenosy. Kdybychom je dokázali spoèítat rychle
+(øeknìme v~logaritmické hloubce), souèet u¾ zvládneme dopoèítat v~konstantním èase.
+
+Podívejme se na~libovolný {\I blok} v~na¹em souètu. Tak budeme øíkat èíslùm
+$x_a\ldots x_b$ a $y_a\ldots y_b$ v~nìjakém intervalu indexù $\left<a,b\right>$.
+Pøenos $c_b$ vystupující z~tohoto bloku závisí mimo hodnot sèítancù u¾ pouze
+na~pøenosu $c_{a-1}$, který do bloku vstupuje. Záviset mù¾e pouze tøemi
+mo¾nými zpùsoby:
+
+\numlist\ndotted
+\:generuje pøenos: $c_a=1$,
+\:pohlcuje pøenos: $c_a=0$,
+\:kopíruje pøenos: $c_a=c_{b-1}$.