BitLab — bity, bajty, čísla a text v paměti
BitLab zakládá pátou trať a stojí na jediné větě, která platí až do konce: vzorek bitů sám o sobě neznamená nic. Ten stejný bajt je 202, nebo −54, nebo písmeno „Ê“, nebo čtvrtina jednoho floatu — a rozhoduje o tom jenom otázka, kterou mu někdo položí. Uvnitř je bit a bajt, dvojková a šestnáctková soustava, dvojkový doplněk i s tou jednou chybějící kladnou hodnotou (−(−128) je pořád −128), přetečení jako obtočení po kruhu, bitové operace a masky registrů, posuny a ten vpravo, který má dvě různé odpovědi a vybírá je typ, IEEE 754 rozebraná na znaménko, exponent a mantisu, nerovnoměrná mřížka floatu a proč se peníze počítají v haléřích, pevná řádová čárka, ASCII, Unicode a UTF-8 i s náhradními páry, endianita a rozdíl mezi kB a KiB. Ověřuje se nejlíp z celé akademie: prostředí, ve kterém běží testy, obsahuje nezávislou implementaci týchž norem — rozklad floatu se porovnává s DataView na deseti tisících náhodných vzorcích včetně NaN a subnormálních čísel, kodér UTF-8 s TextEncoder přes celý rozsah kódů. Znaménková chyba tedy neprojde: rozejde se s platformou.
Kapitoly
- 1Bit a bajt: nejmenší otázka, na kterou jde odpovědět
- 2Dvojková a šestnáctková: proč se píše 0xFF a ne 255
- 3Záporná čísla: dvojkový doplněk a ta jedna chybějící kladná
- 4Přetečení: co se stane, když se to nevejde
- 5Bitové operace: AND, OR, XOR a k čemu doopravdy jsou
- 6Masky a registry: sáhnout na jedno pole a nerozbít sousedy
- 7Posuny: a ten vpravo, který má dvě odpovědi
- 8Plovoucí čárka: znaménko, exponent, mantisa
- 9Krok mřížky: proč 0,1 + 0,2 ≠ 0,3
- 10Pevná řádová čárka: co se používá, když float nestačí
- 11Text: od ASCII k UTF-8
- 12Endianita a velikosti: KB, KiB a chybějících 34 GB
- 13Kde se to v akademii používá