Jaj, megfájdítottad a szívem! Van neked lelked? Hát hogy írhatsz ilyet? :))
Egyrészt az MCU-kban jellemzően nincs lebegőpontos hardware támogatás. Legtöbbször még fixpontos szorzás, osztás sincs. Van összeadás, shiftelés, rotálás, bitenkénti and, or, xor, adatmozgatás. Úgy nagyjából. A memória kevés, szóval mire megírnád a lebegőpontos aritmetikát, nem marad hely a feladatra.
Lehet, hogy a futásidőd is kevés. Például E1 trunk-ön jönnek a hangminták egy 2.048 Mb/s-os stream-en, s valamit nagyon kellene velük csinálni, mert a sok ember csak telefonál, csacsog vég nélkül, s generálja a hangmintákat. :)
Aztán van olyan helyzet, hogy a villanyod kevés. 10 mA? Melléd települt Paks? Amit legutóbb csináltam, az 130 µA-t vett fel, de ebből úgy 100 µA-t a tápegység. Szégyelltem is magam, hogy ennyit eszik, de normális, kis fogyasztású tápegységből csak bontatlan 5000 db-os csomagot akartak eladni.
Feladatfüggő erősen, hogy mire optimalizálunk. Amit te írtál, az az emberi erőforrásra minimalizálás esete. Hamar, olcsón megvan a fejlesztés, viszont sallang a kód, nagy, lassú, felesleges, sokat fogyaszt.
Aztán lehet optimalizálni kód memóriára, adat memóriára, futásidőre, fogyasztásra. Sokszor ezek közül többre. Nem mindig mondanak ezek egymásnak ellent, bár néha igen. A fizikai sebesség a fogyasztásnak eléggé ellent mond. Tehát ilyenkor kell futásidőre optimális kódot faragni, hogy ne kelljen az eszközt gyorsan hajtani. Vagy eleve nem tudod gyorsan, mert az már egy drága eszköz lenne, s szeretnél egy pici, egyszerűbe beleférni.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE