Celé číslo
Obsah boxu
Šablona:Infobox Matematický koncept
Celé číslo (anglicky integer) je číslo, které lze zapsat bez použití zlomků nebo desetinné části. Množina všech celých čísel se v matematice označuje symbolem $\mathbb{Z}$ (z německého slova Zahlen – čísla). Tato množina zahrnuje:
- Přirozená čísla (kladná celá čísla: 1, 2, 3...)
- Číslo Nula (0)
- Záporná celá čísla (-1, -2, -3...)
Formálně lze množinu celých čísel zapsat jako:
- $\mathbb{Z} = \{..., -3, -2, -1, 0, 1, 2, 3, ...\}$
Celá čísla tvoří nekonečnou množinu, která je diskrétní (mezi sousedními celými čísly, např. 1 a 2, neexistuje žádné další celé číslo). Jsou zobecněním přirozených čísel, která vznikla potřebou nejen počítat "počet kusů" (což umí přirozená čísla), ale také vyjadřovat dluhy, poklesy teploty nebo polohu pod hladinou moře (což umožňují záporná čísla).
V algebře tvoří celá čísla spolu s operacemi sčítání a násobení strukturu zvanou komutativní obor integrity. V informatice jsou celá čísla (datový typ integer) základním způsobem reprezentace dat, přičemž jejich rozsah je limitován architekturou počítače (např. 32-bit nebo 64-bit).
📜 Historie a etymologie
Původ symbolu Z
Symbol $\mathbb{Z}$, který se dnes celosvětově používá pro označení množiny celých čísel, pochází z německého slova Zahlen (čísla). Jeho zavedení do standardní matematické notace je připisováno skupině matematiků známé jako Bourbaki ve 30. letech 20. století, ačkoli se v německých textech objevovalo již dříve. Do té doby se často používalo písmeno I (Integer) nebo J, což však kolidovalo s označením pro imaginární jednotku.
Dlouhá cesta k záporným číslům
Zatímco kladná celá čísla (přirozená) používá lidstvo od pravěku, koncept záporných celých čísel byl pro evropskou matematiku dlouho nepřijatelný.
- Čína (2. stol. př. n. l.): Čínští matematici v díle Matematika v devíti knihách běžně používali záporná čísla pro výpočty. Používali červené tyčinky pro kladná čísla a černé pro záporná (opačně než v dnešním účetnictví).
- Indie (7. stol. n. l.): Brahmagupta definoval pravidla pro počítání s "dluhy" (záporná čísla) a "majetkem" (kladná čísla) a jako první plně pochopil roli nuly.
- Evropa (středověk a renesance): Evropští matematici se záporným číslům bránili. Ještě v 16. století je matematici jako Girolamo Cardano nazývali numeri ficti (fiktivní čísla) nebo "falešná čísla". Považovali za absurdní, aby existovalo "méně než nic".
- Přijetí (17.–19. stol.): Teprve s rozvojem analytické geometrie (René Descartes) a zavedením číselné osy, kde záporná čísla reprezentují směr vlevo od nuly, se stala plnohodnotnou součástí matematiky. Definitivní rigorózní definici podali matematici v 19. století (např. Leopold Kronecker).
📝 Matematické vlastnosti a struktura
Uspořádání
Množina $\mathbb{Z}$ je lineárně uspořádaná relací $\le$ (menší nebo rovno). Pro číselnou osu platí, že čísla vlevo jsou menší než čísla vpravo.
- ... < -2 < -1 < 0 < 1 < 2 < ...
Důsledkem je, že neexistuje "největší" ani "nejmenší" celé číslo.
Algebraická struktura (Okruh)
Množina celých čísel $\mathbb{Z}$ spolu s operacemi sčítání ($+$) a násobení ($\cdot$) tvoří algebraickou strukturu zvanou komutativní okruh. To znamená, že splňuje následující axiomy:
- Uzavřenost: Součet i součin dvou celých čísel je vždy celé číslo. (Např. $2 + (-5) = -3 \in \mathbb{Z}$).
- Asociativita: $(a + b) + c = a + (b + c)$ a $(a \cdot b) \cdot c = a \cdot (b \cdot c)$.
- Komutativita: $a + b = b + a$ a $a \cdot b = b \cdot a$.
- Neutrální prvek:#* Pro sčítání je to **0** ($a + 0 = a$).
- Pro násobení je to **1** ($a \cdot 1 = a$).
- Inverzní prvek pro sčítání: Ke každému číslu $a$ existuje číslo $-a$ takové, že $a + (-a) = 0$.
- Distributivita: $a \cdot (b + c) = a \cdot b + a \cdot c$.
Důležité:** Celá čísla **netvoří těleso, protože neexistují inverzní prvky pro násobení (kromě 1 a -1). Například k číslu 2 neexistuje v rámci celých čísel číslo, kterým bychom ho vynásobili a dostali 1 (výsledek 0,5 není celé číslo). Dělení celých čísel tedy není uzavřenou operací (výsledek nemusí být celé číslo).
Teorie čísel
V rámci celých čísel se studují klíčové koncepty:
- Dělitelnost: Číslo $a$ dělí $b$ ($a|b$), pokud existuje celé číslo $k$ takové, že $b = a \cdot k$.
- Prvočísla: Celá čísla větší než 1, která mají pouze dva dělitele (1 a sebe sama).
- Největší společný dělitel (NSD): K jeho nalezení se používá Eukleidův algoritmus, jeden z nejstarších algoritmů v historii.
- Modulární aritmetika: Počítání se zbytky, které je základem moderní kryptografie.
🔬 Mohutnost (Kolik je celých čísel?)
Z hlediska teorie množin je množina celých čísel $\mathbb{Z}$ nekonečná. Její mohutnost (počet prvků) se označuje symbolem $\aleph_0$ (alef nula). Je zde jeden z nejznámějších matematických paradoxů pro laiky: Ačkoliv se zdá, že celých čísel musí být "dvakrát více" než přirozených čísel (protože obsahují i záporná čísla), ve skutečnosti mají stejnou mohutnost. Množina $\mathbb{Z}$ je tzv. spočetná. To znamená, že existuje bijekce (vzájemně jednoznačné přiřazení) mezi všemi přirozenými čísly a všemi celými čísly. Celá čísla můžeme "seřadit" do jedné posloupnosti například takto:
- 0, 1, -1, 2, -2, 3, -3, 4, -4...
Tímto způsobem "očíslo" každé celé číslo jedním přirozeným číslem, což dokazuje, že obě nekonečna jsou "stejně velká".
💻 Celá čísla v informatice
V počítačích jsou celá čísla reprezentována datovým typem, obvykle nazývaným `int` nebo `integer`. Protože paměť počítače je konečná, nemohou počítače pracovat s celou nekonečnou množinou $\mathbb{Z}$, ale jen s její podmnožinou v určitém rozsahu.
Reprezentace v paměti
Čísla jsou uložena ve dvojkové soustavě. Pro záporná čísla se nejčastěji používá tzv. dvojkový doplněk. Datové typy se dělí na:
- Signed (se znaménkem): Mohou být kladná i záporná. Jeden bit (zpravidla ten nejvíce vlevo) slouží jako znaménkový bit.
- Unsigned (bez znaménka): Mohou být pouze nezáporná (0 a kladná). Díky absenci záporných čísel mají dvojnásobný kladný rozsah.
Standardní limity (Architektura x86/x64)
| Počet bitů | Název (C/C++) | Typ | Rozsah (přibližně) | Přesný rozsah |
|---|---|---|---|---|
| 8 bitů | `int8_t` / `char` | Signed | -128 až 127 | $-2^7$ až $2^7 - 1$ |
| Unsigned | 0 až 255 | $0$ až $2^8 - 1$ | ||
| 16 bitů | `int16_t` / `short` | Signed | -32 768 až 32 767 | $-2^{15}$ až $2^{15} - 1$ |
| Unsigned | 0 až 65 535 | $0$ až $2^{16} - 1$ | ||
| 32 bitů | `int32_t` / `int` | Signed | ± 2 miliardy | $-2^{31}$ až $2^{31} - 1$ |
| Unsigned | 0 až 4 miliardy | $0$ až $2^{32} - 1$ | ||
| 64 bitů | `int64_t` / `long long` | Signed | ± 9 trilionů | $-2^{63}$ až $2^{63} - 1$ |
| Unsigned | 0 až 18 trilionů | $0$ až $2^{64} - 1$ |
Problém přetečení (Overflow)
Když výpočet překročí maximální hodnotu, kterou daný typ dokáže uložit, dojde k tzv. integer overflow.
- Příklad: Pokud máme 8-bitové číslo s hodnotou 127 a přičteme 1, výsledek nebude 128, ale -128 (číslo "přeteče" do záporných hodnot).
- Tento jev stál za mnoha softwarovými chybami, včetně havárie rakety Ariane 5 v roce 1996.
Problém roku 2038
Významným příkladem limitu 32-bitových celých čísel je Problém roku 2038. Systémy Unix a Linux tradičně měří čas jako počet sekund od 1. ledna 1970, uložený v 32-bitovém signed integeru. Dne 19. ledna 2038 v 03:14:07 UTC dosáhne tento čítač maximální hodnoty (2 147 483 647). O sekundu později přeteče na -2 147 483 648, což systémy interpretují jako rok 1901. Moderní 64-bitové systémy tento problém již nemají (jejich limit je v řádu miliard let).
💡 Pro laiky: Analogie pro pochopení
Pokud je pro vás abstraktní definice složitá, představte si celá čísla v reálném světě:
1. Výtah v mrakodrapu
- Přízemí = 0. Je to výchozí bod.
- Patra nad zemí = Kladná čísla (1, 2, 3...). Jedete nahoru.
- Podzemní garáže = Záporná čísla (-1, -2...). Jedete pod zem.
Celá čísla jsou prostě všechna tlačítka ve výtahu (pokud neexistují mezipatra).
2. Peníze a dluhy
- Mám v kapse 100 Kč = +100. (Kladné celé číslo)
- Nemám nic = 0. (Nula)
- Dlužím kamarádovi 100 Kč = -100. (Záporné celé číslo)
Když kamarádovi dluh splatím (přičtu +100), jsem na nule.
3. Teploměr
V zimě v Česku běžně zažíváme celá čísla.
- Je teplo: +5 °C.
- Mrzne: -5 °C.
- Bod mrazu: 0 °C.
Rozdíl mezi 5 °C a -5 °C je 10 stupňů. To je operace s celými čísly: $5 - (-5) = 10$.
🏛️ Využití v praxi
Ačkoliv se zdá, že reálný svět je "spojitý" (měříme na desetinná místa), celá čísla jsou v praxi často preferována před reálnými čísly kvůli přesnosti.
- Finanční systémy: Bankovní software často neukládá částky jako desetinná čísla (123,50 Kč), ale jako celá čísla v nejmenší měnové jednotce (12350 haléřů). Tím se předchází chybám při zaokrouhlování, které vznikají u desetinných čísel v počítačích.
- Digitální obraz: Barva každého pixelu na monitoru je definována třemi celými čísly (R, G, B) v rozsahu 0–255.
- Kvantová fyzika: Některé veličiny v přírodě jsou "kvantované", tedy nabývají pouze diskrétních hodnot, které lze popsat celými čísly (např. kvantová čísla elektronů).
📊 Přehledová tabulka podmnožin
| Název | Symbol | Obsah | Poznámka |
|---|---|---|---|
| Celá čísla | $\mathbb{Z}$ | $\{..., -2, -1, 0, 1, 2, ...\}$ | Základní množina |
| Kladná celá čísla | $\mathbb{Z}^+$ | $\{1, 2, 3, ...\}$ | Totožné s $\mathbb{N}$ (pokud $\mathbb{N}$ neobsahuje 0) |
| Záporná celá čísla | $\mathbb{Z}^-$ | $\{..., -3, -2, -1\}$ | Čísla menší než 0 |
| Nezáporná celá čísla | $\mathbb{Z}_0^+$ | $\{0, 1, 2, 3, ...\}$ | Přirozená čísla včetně nuly |
| Nekladná celá čísla | $\mathbb{Z}_0^-$ | $\{..., -2, -1, 0\}$ | Záporná čísla a nula |