advertentie

Dit forum is niet langer actief. Voor vragen kun je voortaan terecht in de Vraag & Antwoord-rubriek van PCMweb.nl

 
Oud 13 September 2008, 17:10   #1
Jasper91
PCM Engineer
 
Jasper91's schermafbeelding
 
Geregistreerd: 5 June 2006
Locatie: Den Haag
Berichten: 210
Standaard [C++] Double's combineren

Hey allemaal,

Weet iemand misschien hoe ik in C++ bijvoorbeeld 2 double's kan samenvoegen in 1 nieuw type variable die dus 2^(2*4* als max. value kan hebben?

Alvast bedankt,
Jasper
__________________
Desktop specss: Intel C2D E8400, Foxconn Mars, 2x 2048 OCZ 1000mhz, 2x MSI ATI 4850 CF, 2xSATA II Samsung 160gb RAID 0, 2x 19"Wide
Notebook specs: AMD Turion64 2.0ghz, 1024Mb DDR, ATI X1600 mobility, 100gb harddisk
Mediacenter specs: AMD Athlon 64 X2 4200+ 2.2ghz, Asus M2A-VM HDMI, 2 x Kingston 512MB DDR2 PC5300, Maxtor 320gb SATA II, 22-inch widescreen monitor
Jasper91 is offline   Met citaat antwoorden
Oud 13 September 2008, 23:16   #2
gvanvoor
PCM Lord
 
gvanvoor's schermafbeelding
 
Geregistreerd: 26 January 2006
Locatie: De gezelligste stad ter wereld: Gent
Berichten: 928
Standaard

Als long double geen optie is (je zal de documentatie van je compiler moeten checken om te zien of dat inderdaad het dubbele van een double is) kan je altijd zelf een klasse maken en de nodige operatoren overloaden...
Vb.
de header:
Code:
class DubbelDouble
{
    public:
        DubbelDouble(double const & inHigh, double const & inLow);

        DubbelDouble operator * (DubbelDouble const & inOther) const;
        // analoog voor de andere operaties...

    private:
        double mHigh;
        double mLow;
};
De implementatie:
Code:
DubbelDouble::DubbelDouble(double const & inHigh, double const & inLow)
:
    mHigh(inHigh),
    mLow(inLow)
{
}

DubbelDouble::DubbelDouble operator * (DubbelDouble const & inOther) const
{
    DubbelDouble theResult;
    // bereken hier theResult
    return theResult;
}
Een degelijk algoritme vind je waarschijnlijk door te zoeken naar arbitrary precision arithmetic of iets dergelijks.

BTW Het idee 2 doubles samen te voegen lijkt me een beetje vreemd: van het hoge gedeelte zal je het gedeelte na de komma zowiezo toch niet gebruiken. Volgens mij ben je beter af als je gehele getallen samenvoegt (of als je inderdaad onbeperkte precisie en grootte nodig hebt een vector gebruikt).

Waarvoor heb je dit eigenlijk nodig?
__________________
If you want to work on your computer: buy a PC. If you want to do work on your computer: buy a Mac.

Laatst gewijzigd door gvanvoor : 13 September 2008 om 23:24
gvanvoor is offline   Met citaat antwoorden
Oud 25 February 2009, 10:14   #3
blua tigro
Just Joined!
 
Geregistreerd: 16 February 2009
Locatie: nh
Berichten: 20
Cool

ik had begrepen dat r in
zommige compilers vaak ook n
long double
zit
mischien is dat wat
--------------------------------------------------------------------------
we are all different therefore we are all equal
blua tigro is offline   Met citaat antwoorden
Antwoord


Discussietools
Weergave

Regels voor berichten
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Forumnavigatie


Alle tijden zijn GMT +1. Het is nu 19:26.



Powered by vBulletin Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Nederlandse vBulletin-vertaling door Alacer beschikbaar gesteld door Applinet.