Optimalizacia konstantneho float vyrazu, was: C xc8

Miroslav Mraz mrazik na volny.cz
Středa Prosinec 6 13:00:26 CET 2017


Co zkusit něco jako
fSymP = (float)dwSampleRate * 0,000421053f;
fSymP je pak asi tak 96,000084

1. násobit je levnější než dělit
2. přesně to nikdy nebude, zkuste si ta čísla faktorizovat.

Mrazík


Dne 6.12.2017 v 10:30 Zuffa Jan napsal(a):
> dwSampleRate je DWORD premenna funkcie a tak sa s nim dalej pracuje
> target x86 a prekladac od $MS.
> Dalsie detaily nepoviem lebo sa hanbim :)
> Otazka je ako napisat riadok
> fSymP = (float)dwSampleRate / 2375.0f; aby daval vzdy rovnaky
> vysledok. Kalkulacka mi hovori ze 228000/2375 je presne 96
> napriek tomu je v fSymP 95.99998
> 
> j.


Další informace o konferenci Hw-list