V mé aplikaci na AVR bych potřeboval vynásobit float a 16-bit číslo s pevnou čárkou ve tvaru 1.15. Moje úvaha byla následující: Pevně čísla vynásobím, tak jak jsou a poté ve výsledném floatu snížím exponent o 15. Snížení exponentu jsem chtěl provést pomocí dělení mocninou 2 - předpokládál jsem, že tato operace je optimalizována na pouhé snížení exponentu - není. Provádí se kompletní dělení, které trvá zbytečně dlouho.
Je nějaký "košer" způsob jak efektivně snížit exponent u float? Nebo musím jít do interní struktury, exponent vyčíst a zase nastavit? Popř. je nějaký jiný způsob jak výše zmíněná čísla vynásobit?
TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Posthunter

Nahlásit jako SPAM
IP: 85.160.109.–
Nejlepší odpověď
Zjistit počet nových příspěvků
































