-
Data: 2012-09-20 11:57:28
Temat: Re: operacje na liczbach całkowitych a dokładność
Od: Mario <m...@...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2012-09-20 09:49, Waldemar Krzok pisze:
> Am 19.09.2012 22:32, schrieb Mario:
>> W dniu 2012-09-19 19:25, Jakub Rakus pisze:
>>> Witam,
>>>
>>> Trochę już minęło czasu od zajęć z metod numerycznych... więc jak
>>> najlepiej
>>> wykonać taką operację:
>>>
>>> Mam liczbę całkowitą która maksymalnie osiąga wartość 2^13, ale muszę ją
>>> pomnożyć przez niecałkowity współczynnik, który będzie wynosił około
>>> 0,3.
>>> Zmienne wykorzystywane w obliczeniach są 16 bitowe (nie mam tyle mocy
>>> obliczeniowej żeby przejść na liczby zmiennoprzecinkowe). Ponieważ 0,3
>>> to to
>>> samo co 3/10, to mogę sobie rozbić moje działanie na mnożenie przez 3 i
>>> dzielenie bez reszty przez 10.
>>>
>>> Pytanie - jaka kolejność zapewnia większą dokładność? Najpierw mnożyć
>>> czy
>>> lepiej najpierw dzielić? Co w przypadku gdy mój współczynnik wyniesie
>>> np.
>>> 0,32 - wykonanie jako pierwszego mnożenia przez 32 (a potem dzielenia
>>> przez
>>> 100) da mi pośredni wynik większy niż zakres mojej 16-bitowej zmiennej.
>>>
>>
>> Nie napisałeś w jakim języku chcesz pisać. Jeśli w c to użyj double.
>> Jeśli w asm to musisz na potrzeby tego mnożenia napisać własną
>> procedurkę mnożenia dwóch 16 bitowych z wynikiem na np 24 czy 32 bitach.
>> Kolejność działań to oczywiście najpierw mnożenie potem dzielenie.
>>
>
> Przecież pisze wyraźnie, że nie ma mocy obliczeniowej na floaty, a ty mu
> z double wyskakujesz.
Sorki miało być long.
> Osobiście robię takie rzeczy tak, by jak najmniej stracić i szybko
> liczyć. Czyli ułamek wyrazić jako ułamek dwójkowy, czyli na przykład
> twoje 0.32 jako 41/128. Następnie mnożę dwie liczby 16to bitowe z
> wynikiem 32 bity
Zdaje się, że pytający właśnie nie wie jak zrobić żeby mieć wynik 32
bitowy.
--
pozdrawiam
MD
Następne wpisy z tego wątku
- 20.09.12 21:15 Jakub Rakus
- 20.09.12 22:30 bartekltg
- 21.09.12 20:56 Marek Wodzinski
Najnowsze wątki z tej grupy
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
Najnowsze wątki
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-20 "betamaxy" i inne voip-y dzisiaj
- 2024-11-21 Strach się bać
- 2024-11-21 Koniec smrodów
- 2024-11-20 Krematorium
- 2024-11-20 Taki tam szkolny problem...
- 2024-11-20 LIR2032 a ML2032
- 2024-11-20 SmartWatch Multimetr bezprzewodowy
- 2024-11-21 Środa Wielkopolska => Konsultant SAP <=
- 2024-11-21 Łódź => Spedytor Międzynarodowy <=
- 2024-11-21 Wrocław => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-21 Kraków => Lead Java EE Developer <=
- 2024-11-21 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=