Hulp in Floating Point Vertegenwoordiging

Ik heb gedaan een project op DCT ook.Maar ik vond, met behulp van vast punt notatie om fracties vertegenwoordigen is efficiënter voor FPGA's, omdat DCT isnt zeer gevoelig voor de nauwkeurigheid kwesties.

 
Quote:

is het verplicht dat we de waarde dient te berekenen voor alle 23 bits in de Mantisse
 
OK, ik heb het.Mijn toepassing is DCT.Ik gebruik deze norm floating point representatie van de cosinus co-efficients.Ik dacht dat deze vertegenwoordiging zal nauwkeuriger dan andere soort representaties

 
Bij nul stellen van de lagere bits, is uw conversie minder nauwkeurig dan het zou kunnen zijn.
Uw code 00111111011110110000000000000000 vertegenwoordigt 0,98046875
De code 00111111011110110001010110110101 vertegenwoordigt ongeveer 0,98079997 ...

Misschien 9 bits is goed genoeg voor uw aanvraag, maar ik vraag me af waarom je gaat door de extra inspanning van het gebruik van een standaard floating point-formaat, en dan weg te gooien de meeste van haar nauwkeurigheid.

 
HI Echo,

Ik denk dat ik deed berekening voor maximaal 9 decimalen.en ik gevuld resterende bits met 0's.dat doet mijn voorstelling is er mis?Toegevoegd na 2 minuten:is het verplicht dat we de waarde dient te berekenen voor alle 23 bits in de Mantisse

 
U bent dichtbij, maar niet helemaal juist.Probeer deze on-line rekenmachines:
http://babbage.cs.qc.edu/IEEE-754/
http://www.h-schmidt.net/FloatApplet/IEEE754.html

Ze geven dit resultaat:
00111111 01111011 00010101 10110101

GCC geeft hetzelfde resultaat (in hex) het gebruik van deze C-code in Windows:
Code:

# include <stdio.h>

int main (void)

(

unie

(

float x;

int i;

U =) (0,9808);

printf ( "% 08X \ n", ui);

return 0;

)
 
D

deepu_s_s

Guest
Hallo Vrienden,

Ik wilde 0,9808 vertegenwoordigen in IEEE 754 formaat.Hieronder Ik vertegenwoordigde het nummer.Gelieve te controleren en de fouten te corrigeren indien van toepassing.

Single precision floating point

0,9808 = 0,111110110

---> 0,111110110 = 1,11110110 * 2 ^ -1

teken-bit = 0
exponent = -1 127 = 126 = 01111110
Mantisse = 11110110

IEEE 754 = 0 01111110 11110110_00000000_0000000

is dit de correcte weergave van dat nummer?

Beantwoord mij zo spoedig mogelijkThanks and Regards
Deepak

 

Welcome to EDABoard.com

Sponsor

Back
Top