NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Rozdíly float, real a decimal

V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:13.3.2019 10:19

Zdravím mohli by jste mi prosím vysvětlit jaký je přesně mezi těmito datovými typy rozdíl? A kdy co nejlíp použitý? Googlil jsem a myslím si, že to celkem chápu, ale chtěl bych se ujistit. Předem díky za vysvětlení. :)

Zkusil jsem: Hledat na internetu.

Chci docílit: Správně pochopit datové typy.

 
Odpovědět
13.3.2019 10:19
Avatar
Petr Langer
Člen
Avatar
Odpovídá na Petr Kasnal
Petr Langer:13.3.2019 12:13

Rozdíl je v tom, kolik proměnné s daným datovým typem zabírají místa v paměti. A protože se jedná o typy s plovoucí desetinou čárkou, tak je rozdíl i v přesnosti. Nějaké rozsahy možných hodnot jsi už určitě našel na internetu. Obecně by jsi měl používat paměťově co nejméně náročné datové typy, jejichž přesnost ti ještě dostačuje.

 
Nahoru Odpovědět
13.3.2019 12:13
Avatar
PETRA HRADECKÁ:18.12.2024 12:54

Typ float má menší přesnost, výkon: rychlejší, použití: vědecké výpočty, grafika, simulace.
Typ real jako float (někdy méně přesné), výkon: rychlejší, použití SQL db, tam, kde je real k dispozici.
Typ decimal, vysoká přesnost (pevná desetinná místa), výkon: pomalejší, použití: finanční a účetní výpočty, přesná čísla).

Shrnula bych to takto: pokud potřebuješ přesnost a pracuješ s penězi nebo metrickými měřeními, zvol decimal. Pokud řešíš vědecké problémy nebo potřebuješ výkon, použij float.

Rozdíly v příkladech (python):
float/real:
x = 0.1 + 0.2 # Výsledek: 0.30000000000000004
# Důvod: Přesnost je omezená kvůli reprezentaci v binárním systému.
decimal:
from decimal import Decimal
x = Decimal('0.1') + Decimal('0.2') # Výsledek: 0.3
# Důvod: Používá desetinné číslo přesně reprezentované v desítkové soustavě.

 
Nahoru Odpovědět
18.12.2024 12:54
Avatar
JerryM
Člen
Avatar
JerryM:30.12.2024 16:36

https://en.wikipedia.org/wiki/IEEE_754
a tady je hezky zobrazená mantisa a exponent
https://www.h-schmidt.net/…IEEE754.html

 
Nahoru Odpovědět
30.12.2024 16:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.