Portál AbcLinuxu, 11. května 2025 10:27
Řešení dotazu:
Nestacilo by jen zmenit poradi operaci? Takhle napred deli (zavorka 5/100) a potom zase deli (100.05 / 0.05). Co kdyby to podle pravidel pocitani se zlomky napred vynasobil a teprve potom delil? Dostal by z toho
((100.05 * 100) / 5) = (10005 / 5)Nevim, jak moc je JS chytry v otazce optimalizaci matematickych postupu, tak mozna je moje rada mimo, ale treba by to mohlo pomoct
Dejv
Nestacilo by jen zmenit poradi operaci?Nestačilo. Čísla s plovoucí řádovou čárkou nereprezentují reálná čísla přesně, toto omezení je součástí návrhu tohoto typu. Takže pokud chcete počítat přesně, je potřeba použít jiný typ. Jiné pořadí operací může pro nějaká čísla dát „správný“ výsledek, ale pro jiná dá zase „špatný“.*) *) „Správný“ a „špatný“ myšleno z pohledu výpočtu s reálnými čísly. Ty operace dávají ve skutečnosti správný výsledek podle standardu výpočtu v plovoucí řádové čárce – chyba je na straně programátora, pokud předpokládá, že výsledek bude shodný s výpočtem s reálnými čísly.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.