float til faste

B

bm_soe

Guest
hvordan kan vi konvertere floating point c prog til fast punkt c program.

 
Hi ~ ~

Ja, du kan.Det vigtigste er at holde den bedste præcision tillades af platform, hvor du kommer til at behandle de faste data.Normalt er de fleste processorer giver regnefunktionen forlængelse kapacitet.For eksempel har en processor med 16-bit data bus bredde en instruktion om at tilføje eller trække fra med bære eller låne.Efter at have undersøgt omfanget af de data, der skal behandles, vil du bestemme antallet af bits til at repræsentere data, og hvor de binære punkt er at blive placeret.Jeg hørte om nogle auto-scaling programmer til at gøre disse ting.

Bye ~ ~ ~

 
yjkwon57,

Første, blot konvertere alle de flåd til char int eller long int.
long int er bedst, da det giver dig mulighed for at fastholde mere præcision.

Næste konvertere alle matematik at fastholde præcision i faste punkt.

Dvs., formere sig og tilføje før kløft, kan du nødt til at rode med ligninger at gøre dette.

Endelig tilføjer scailing.For at gøre dette arbejde ud af, hvad din største og mindste mulige værdier er gennem de forskellige trin i programmet, og hvor mange ekstra bits du ikke bruge i dine variabler (formentlig langt's), der tilsættes derefter scailing (nemmeste er multipliceres med 2. bruge venstre skift opperator variabel <<6).
scail op i starten og scail ned for at nå dit resultat ensureing du stadig har korrekte matematik.
kontrollere, at dine variabler cant overløb eller underflow.

Dette skulle gøre tricket

Maui

 

Welcome to EDABoard.com

Sponsor

Back
Top