-
Data: 2016-10-12 20:59:02
Temat: Re: jak posortować czynniki
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Wednesday, October 12, 2016 at 8:15:10 PM UTC+2, bartekltg wrote:
> On 12.10.2016 19:55, M.M. wrote:
> > On Wednesday, October 12, 2016 at 6:42:55 PM UTC+2, bartekltg wrote:
> >> Nie ma znaczenia.
> >> Mnożysz mantysy, które zawsze są w przedziale [0.5,1)
> >> cechy dodajesz stałoprzecinkowo.
> >> ["Ty w sensie komputer jak mnożysz zmienne float/double",
> >> nie trzeba nic ręcznie poprawiać].
> >
> > Fajny sposób.
>
> Po to był nawias kwadratwy.
> To nie jest sposób.
> Tak komputer po prostu mnoży liczby zmiennoprzecinkowe.
No tak, ale w C++ (chyba) nie ma instrukcji która wymnoży w ten sposób
więcej niż dwie liczby? Powiedzmy że mamy 10 dużych liczb i 10 małych.
Gdy zacznę mnożyć od małych, to pewnie najpierw osiągnę zero, więc
potem mnożenie przez duże liczby da wynik zero.
Gdy zacznę mnożyć od dużych, to dojdzie do przepełnienia typu,
pewnie będzie +inf, i mnożenie z małymi zakończy się błędem.
Dobrze byłoby posortować: raz duża, raz mała, ale to trudne jest.
Lepiej wyciągnąć po każdym mnożeniu wykładnik sumować w osobnej
zmiennej, a w bieżącym wyniku go zerować. Coś mniej/więcej tak:
wynik = 1;
E = 0;
tab[N];
for( i=0 ; i<N ; i++ ) {
wynik *= tab[i];
E += wykladnik( wynik );
wynik /= baza ^ wykladnik( wynik );
}
return wynik *= baza ^ E;
Pozdrawiam
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-16 Samo rozładowywanie baterii trakcyjnej w elektryku.
- 2024-05-16 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-05-16 Warszawa => Interactive/Experience Designer <=
- 2024-05-16 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-16 Zabrze => Junior HelpDesk <=
- 2024-05-16 Warszawa => Technical Lead ( (Java Background)) <=
- 2024-05-16 Szczecin => Senior DevOps Engineer <=
- 2024-05-16 Szczecin => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-16 Śledztwo bodnatury "jak wyrok"? ["likwidator" Polskiego Radia donosi]
- 2024-05-16 Citi... zmiany warunków umowy o kartę kredytową Citibank?
- 2024-05-16 prawo jazdy z Nepalu
- 2024-05-15 Mini Netykieta polskich grup i list dyskusyjnych
- 2024-05-15 Warszawa => Key Account Manager <=
- 2024-05-15 Millenium czyli DEBILE bankowości
- 2024-05-15 Warszawa => Frontend Developer - React <=