Kde se to v akademii používá
Tahle labka je první na trati Data a je pod celou zbývající trojicí — ale používá se i mimo ni, a to na místech, kde to dosud nikdo nevysvětlil.
| labka | co si odsud bere |
|---|---|
| SensorLab | Kapitola „Převod na číslo: kolik bitů je doopravdy“ mluví o dvanáctibitovém slově a o efektivním počtu bitů. Odkud se ta šířka bere a co znamená, je kapitola 1 a 4 tady. |
| LinkLab | Celý. Rámec je vzorek bitů, CRC je posun a XOR, a pořadí bajtů na lince je kapitola 12. |
| FilterLab | Katastrofické krácení u kovariance je kapitola 9. A proč se nesmí sčítat velké s malým taky. |
| ControlLab | Integrační složka je akumulátor konečné šířky. Windup není jen vlastnost regulátoru — je to i vlastnost typu, ve kterém běží (kapitola 10). |
| BridgeLab | Střída PWM je celé číslo v registru časovače. Rozlišení střídy = počet bitů toho registru, a kapitola 6 říká, jak se do něj zapíše, aniž se rozbije zbytek. |
| StatLab | Kvantizační šum má rozptyl q²/12, kde q je krok. Ten krok je 2⁻ⁿ z kapitoly 1 — a u floatu se mění s velikostí čísla (kapitola 9). |
Co si odnést
- Vzorek bitů sám o sobě neznamená nic. Význam mu dává otázka, kterou mu program položí — a chyba vzniká tam, kde se čtenář ptá jinak než pisatel.
- Dvojkový doplněk je asymetrický, a ta jedna chybějící kladná hodnota je pravidlo,
ne kuriozita.
−(−128)je−128. - Přetečení není porucha, je to definované chování — u hodnot bez znaménka. Se znaménkem je to v C nedefinované, což je horší.
- Posun vpravo má dvě odpovědi a vybírá je typ, ne programátor.
- Float má nerovnoměrnou mřížku. Relativní přesnost je konstantní, absolutní roste s číslem — proto se floaty neporovnávají na rovnost a peníze se počítají v haléřích.
- Text je číslo plus dohoda. Unicode říká které číslo, kódování říká jak se uloží, a „délka řetězce“ má tři různé odpovědi.
- Na pořadí bajtů záleží jen tam, kde data opouštějí stroj — což je přesně to, o čem je celá další labka na téhle trati.