Číslice a čísla v informatice
a programování IV, Operace s čísly
a bity v programování
V minulém dílu jsme se věnovali číselným datovým typům a jejich omezením. Nyní se podíváme na to, jak se s čísly v programování pracuje. Naučíme se nejen klasické aritmetické operace, ale i méně známé bitové operace, které tvoří základ efektivních algoritmů, šifrování a práce s hardwarem.
Aritmetické operace
Většina programovacích jazyků poskytuje tyto základní operace:
Sčítání: a + b
Odčítání: a - b
Násobení: a * b
Dělení: a / b → obvykle desetinný výsledek
Celé dělení: a // b (Python), a div b (Pascal)
Zbytek po dělení (modulo): a % b
Mocnění: a ** b (Python), pow(a, b)
Příklad v Pythonu:
a, b = 7, 3
print(a + b) # 10
print(a - b) # 4
print(a * b) # 21
print(a / b) # 2.333...
print(a // b) # 2
print(a % b) # 1
print(a ** b) # 343
Bitové operace
Počítač ukládá čísla v binární podobě. Díky tomu lze provádět operace přímo na jednotlivých bitech (0 a 1).
Základní bitové operace:
AND (&) – výsledek je 1, jen pokud oba bity jsou 1.
OR (|) – výsledek je 1, pokud alespoň jeden bit je 1.
XOR (^) – výsledek je 1, pokud jsou bity různé.
NOT (~) – inverze bitů (0 → 1, 1 → 0).
Posun vlevo (<<) – posune bity doleva, odpovídá násobení 2.
Posun vpravo (>>) – posune bity doprava, odpovídá celočíselnému dělení 2.
Příklad v Pythonu:
x, y = 6, 3 # 6 = 110₂, 3 = 011₂
print(x & y) # 2 -> 010₂
print(x | y) # 7 -> 111₂
print(x ^ y) # 5 -> 101₂
print(~x) # -7 (doplněk k 2)
print(x << 1) # 12 -> 1100₂
print(x >> 1) # 3 -> 011₂
Praktické využití bitových operací
Práce s právy a oprávněními (např. souborové systémy UNIX):
chmod 755 → nastavení práv přes bity.
Maskování bitů – získání konkrétní části čísla.
value & 0xFF → získá jen spodní 8 bitů čísla.
Kryptografie – XOR je základem pro jednoduché šifry.
Grafika – manipulace s barvami uloženými v 32bitových hodnotách (RGBA).
Bitové operace vs. rychlost
Bitové operace jsou často rychlejší než klasické násobení nebo dělení. Například místo dělení 2 je efektivnější použít >> 1, což je posun vpravo.
Aritmetické operace jsou základem každého programu.
Bitové operace umožňují práci přímo na úrovni jednotlivých bitů, což je efektivní a nezbytné při programování nízkoúrovňových aplikací, šifer či grafiky.
Správné využití bitových operací dokáže výrazně zjednodušit kód i zvýšit jeho výkon.
Související odkazy
Vložené informace do obsahu
Galerie
Fusce consectetuer risus a nunc. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Etiam posuere lacus quis dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nullam faucibus mi quis velit. Nullam at arcu a est sollicitudin euismod. Maecenas fermentum, sem in pharetra pellentesque, velit turpis volutpat ante, in pharetra metus odio a lectus. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Etiam ligula pede, sagittis quis, interdum ultricies, scelerisque eu. Vestibulum fermentum tortor id mi. Sed ac dolor sit amet purus malesuada congue. Etiam dictum tincidunt diam. In sem justo, commodo ut, suscipit at, pharetra vitae, orci. Phasellus enim erat, vestibulum vel, aliquam a, posuere eu, velit. In dapibus augue non sapien. Integer pellentesque quam vel velit. Vivamus luctus egestas leo. Phasellus faucibus molestie nisl. Nam quis nulla. Morbi scelerisque luctus velit.
Fusce consectetuer risus a nunc. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Etiam posuere lacus quis dolor.
Fusce consectetuer risus a nunc. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Etiam posuere lacus quis dolor.
Vlastní kód vložený do stránky
Ukázky kódu, matematiky a příkladů
Zobrazení vzorců (KaTeX)
Řešíme kvadratickou rovnici: \( x^2 + 5x + 6 = 0 \)
Kořeny vypočítáme podle vzorce: \( x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \)
Schrödinger: $$
i\hbar \frac{\partial \psi(x, t)}{\partial t} = -\frac{\hbar^2}{2m} \frac{\partial^2 \psi(x, t)}{\partial x^2} + V(x)\psi(x, t)
$$
$$
A = \begin{bmatrix}
1 & 2 & 3 \\
0 & -1 & 4 \\
5 & 0 & 2
\end{bmatrix}
$$
Kód v různých jazycích:
<h1>Ahoj svět</h1>
body {
background: #fff;
}
alert("Ahoj ze skriptu!");
def pozdrav():
print("Ahoj svět!")
@echo off
echo Hello
pause
Console.WriteLine("Ahoj C#");
#include <iostream>
int main() {
std::cout << "Ahoj C++";
}
void loop() {
Serial.println("Arduino běží");
}
echo "Hello Raspberry"
enable
configure terminal
interface fa0/1
ip address 192.168.1.1 255.255.255.0
no shutdown
Zdroje
VÁCLAVÍK, David. Počítače a jejich dějiny. Grada Publishing, 2020.
CERUZZI, Paul. A History of Modern Computing. MIT Press, 2003.
IBM Archives
PUBLIKOVÁNO
03.10.2025, 19:47
10
ODKAZ
https://www.weloveit.education/Article/20251003-Cislice-a-cisla-v-informatice-a-programovani-IV-Operace-s-cisly-a-bity-v-programovani/