Portál AbcLinuxu, 12. května 2025 05:06

Dotaz: Desítková čísla v C++

31.7.2005 13:36 danfiala | skóre: 7
Desítková čísla v C++
Přečteno: 160×
Odpovědět | Admin
Dobry den, existuje v C++ knihovna implementujici aritmatiku s desitkovymi cisly?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 31.7.2005 13:57 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Desítková čísla v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžeš trošku rozvédst co máš na mysli?
Hello world ! Segmentation fault (core dumped)
elviin avatar 31.7.2005 16:22 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Desítková čísla v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Otázku je možné chápat jako:

a) Potřebuji knihovnu v C++ pro matematické operace. Pak viz zde, zde nebo zde, ... Nebo možná vystačíte s #include <cmath> případně #include <limits>

b) Potřebuji knihovnu pro matematické operace v C++, protože pouze v desítkové soustavě můžu počítat? Ale soustava je jen reprezentace čísla. Přestože mnohé knihovny mají svoje "nejvodnější typy čísel" a "nejvodnější reprezentace", pořád můžu zapsat čísla jako:

int a(0X01), b(0x0A); //nebo
int x(1+a);
double dd(13.3251554); //nebo
float fd(13.3252); //nebo
float fh(0x3.243E6A88p+03 + fd + a +x);
a ty pak přetypovat do "nejvhodnější reprezentace" knihovny XYZ.

Pro standardní vstup/výstup můžete definovat flagy pro implicitní chování proudů:

std::cin.setf(std::ios::hex, std::ios::basefield);
std::cout.setf(std::ios::hex, std::ios::basefield);
Ale to je většinou záležitost knihovny XYZ, jak a kam se budou čísla vypisovat.

1.8.2005 10:29 danfiala | skóre: 7
Rozbalit Rozbalit vše Re: Desítková čísla v C++
Dobry den, minim tim knihovnu, ktera bude pocitat s desitkovymi cisly -- bude pracovat s cisly, ktera budou interne reprezentovana v soustave o zakladu 10, nebo 10^n, n cele nenulove. Bude pracovat s realnymi cisly a nevadi, pokud bude vyzadovat omezeny rozsah cisel. Rekneme, ze chci neco na zpusob BigDeciaml v Jave, ale nemusim mit neomezeny rozsah...
elviin avatar 1.8.2005 11:37 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Desítková čísla v C++
Taky zdravím.
Pak tedy zkuste odkazy(zde, zde, ...), které jsem napsal výše. Můžete si nastavit přesnost výpočtu, atd. Doporučuji si projít dokumentaci. Začněte knihovnou newmat 11, viz dokumentace. Newmat používá vlastní typ Real a Matrix, pak můžete psát:
X = A + B;
Matrix C = A * B;
Real mv = A.maximum();
Matrix A;
 ......
cout << setw(10) << setprecision(5) << A;
Ostatní knihovny nejsou na tom o nic hůře. Viz dokumentace.
1.8.2005 16:32 secido
Rozbalit Rozbalit vše Re: Desítková čísla v C++
Skús napríklad GMP, má to interface pre C++.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.