-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.internetia.pl!opal.futuro.pl!szmaragd.futuro.pl!newsf
eed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!ne
ws.neostrada.pl.POSTED!not-for-mail
From: "J.F" <j...@p...onet.pl>
Newsgroups: pl.misc.elektronika
References: <k3cv72$2hn$1@node1.news.atman.pl>
In-Reply-To: <k3cv72$2hn$1@node1.news.atman.pl>
Subject: Re: operacje na liczbach całkowitych a dokładność
Date: Wed, 19 Sep 2012 20:33:02 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 15.4.3555.308
X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3555.308
Lines: 44
Message-ID: <505a0fe2$0$1231$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.5.204.246
X-Trace: 1348079586 unt-rea-b-01.news.neostrada.pl 1231 83.5.204.246:51180
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:635759
[ ukryj nagłówki ]Użytkownik "Jakub Rakus" napisał w wiadomości grup
>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ć?
Chyba nie masz watpliwosci, ze np 4/10 = 0, 0*3= 0 ?
>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.
O to to to :-)
Jesli masz dostep do assemblera/ukladu mnozacego, to nie mnozysz przez
0.32, ale np przez 20972.
Tylko ze robisz mnozenie z wynikiem 32-bit, z ktorego wybierasz dalej
tylko starsze slowo.
Bo 65536*0.32=20971.52
jesli te wspolczynniki sa tego rzedu, to mozesz rozlozyc
0.32=0.0101001...b
a wiec x*0.32 = x>>2 + x>>4 + x>>7 ...
J.
Następne wpisy z tego wątku
- 19.09.12 22:32 Mario
- 20.09.12 09:49 Waldemar Krzok
- 20.09.12 11:57 Mario
- 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
- DS1813-10 się psuje
- 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
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=