Avatar billede ghorfraq Nybegynder
26. november 2003 - 10:00 Der er 10 kommentarer og
2 løsninger

Decimal datatype

Findes der en 12bytes Decimal type i visual c++
Bruger IKKE mfc. Men bare standard c++ libraries
Avatar billede arne_v Ekspert
26. november 2003 - 10:29 #1
Ikke indbygget så vidt jeg ved.

Men der er uden tvivl skrevet klasser til det.
Avatar billede ghorfraq Nybegynder
26. november 2003 - 10:46 #2
ok, nogle der kender nogle libraries jeg kan hente?
Avatar billede range Nybegynder
26. november 2003 - 15:23 #3
Du kan jo prøve med GNU Multiple Precision Arithmetic Library ( http://swox.com/gmp/ ) - det giver dig tilnærmelsesvis uendelig høj præcision og der skulle findes en C++ wrapper til det.

/range
http://cpp.range.dk
Avatar billede arne_v Ekspert
26. november 2003 - 16:43 #4
Hm. Efter at have kigget på siden så kan jeg ikke se noget om
fixed point.
Avatar billede arne_v Ekspert
26. november 2003 - 23:04 #5
Hvis du brugte MFC så kunne du bruge:
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_colecurrency.asp

Mere generelt:

http://efgh.com/software/fixed.htm

Der er flere andre.

Jeg kender ingen af de nævnte.

Det er iøvrigt ret nemt at lave big integer kode om til big fixed point
kode.
Avatar billede ghorfraq Nybegynder
27. november 2003 - 07:58 #6
oki har tabt mig lidt her. Jeg skulle bare bruge en 12 bytes Decimal datatype (som i .NET), da denne skal bruges i en c-metode. Kan ikke lige se hvordan jeg kan bruge ovenstående eksempler. Sikkert min programmeringserfaring der er for mangelfuld... Jeg er, som mine tidligere oprettede spørgsmål sikkert vil vise, ved at skrive en wrapper-class i c++. Denne metode skal wrappes:
bcd_Add(DBL_BCD *Dest,const DBL_BCD *Source)

DBL_BCD typen er et 12bytes Decimal. Definitionen i Navision C/Side dokumentationen er som følger:
DBL_BCD  Decimal;    /* DBL_Type_BCD */
#define DBL_Type_BCD (50 * 0x100) /* 12 bytes */
typedef struct { DBL_U8 Exp; DBL_U8 Mant[9]; DBL_U8 Slack[2] } DBL_BCD;

Hmm, ok kan nu selv se at DBL_BCD er en struct indeholdende 3 unsigned chars (DBL_U8).
HVad kan man lære af det? At man skal nærlæse sin dokumentation inden man søger ekstern hjælp.... :)
Avatar billede ghorfraq Nybegynder
27. november 2003 - 08:00 #7
jeg lukker spørgmålet og fordeler pointene ligeligt imellem jer.
Medmindre i har øvrige kommentarer?
Afventer svar inden jeg lukker...
Avatar billede arne_v Ekspert
27. november 2003 - 08:41 #8
Strenget tager er den struct vel 1 unsigned char exponent og 9 unsigned char
mantisse.
Avatar billede ghorfraq Nybegynder
27. november 2003 - 09:07 #9
ja det kan jeg se. Men umiddelbart bruger fixed-eksemplet en 64bit datatype, hvor jeg skal bruge en 96bit..
Men jeg vil lige lege lidt med det. Kan da nu konkludere min igangværende ingeniør-uddannelse ikke graver dybt nok i den basale teori....
Avatar billede arne_v Ekspert
27. november 2003 - 09:53 #10
Og vi har ikke engang været inde på BCD (henholdsvis packed og
zoned) endnu ....

:-)
Avatar billede ghorfraq Nybegynder
27. november 2003 - 10:00 #11
:-)
Måske et datalogistudie istedet havde været det rigtige.....
Jeg må da vist hellere lige sikre at uddannelsesInstitutionen får min kritiske røst at høre....
Avatar billede ghorfraq Nybegynder
27. november 2003 - 14:28 #12
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester