-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Nowoczesne procesory - jak to z nimi jest?
Date: Tue, 26 Mar 2013 23:01:23 +0100
Organization: ATMAN - ATM S.A.
Lines: 88
Message-ID: <kit5rm$aig$1@node2.news.atman.pl>
References: <5148d9db$0$26710$65785112@news.neostrada.pl>
<4...@g...com>
<1...@g...com>
<kihto6$q3f$1@mx1.internetia.pl>
<c...@g...com>
<3...@g...com>
<a...@g...com>
<e...@g...com>
<7...@g...com>
<kipkjv$uf$1@speranza.aioe.org>
<5...@g...com>
<kipm0j$5bi$1@speranza.aioe.org>
<5...@g...com>
<kipoe5$cfe$1@speranza.aioe.org>
<4...@g...com>
<kiq26c$aqp$1@speranza.aioe.org>
<b...@g...com>
<515168b3$0$26703$65785112@news.neostrada.pl>
<a...@g...com>
NNTP-Posting-Host: 144-mi3-6.acn.waw.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1364335286 10832 85.222.69.144 (26 Mar 2013 22:01:26
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 26 Mar 2013 22:01:26 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130307
Thunderbird/17.0.4
In-Reply-To: <a...@g...com>
Xref: news-archive.icm.edu.pl pl.comp.programming:202305
[ ukryj nagłówki ]W dniu 2013-03-26 12:25, M.M. pisze:
> Niczego to nie zmienia. Logarytm tez mozna policzyc na mantysie o 2 bity
> dluzszej (np. na precyzji 66bitow) i wynik bylby dokladny.
:)
Szkolny przykład.
x=1/4;
x <- 4*x*(1-x).
Powinien wyjść cykl 1/4, 3/4, 1/4...
for (int i=0;i<1000;i++)
x = 4*x*(1-x);
#include <cstdio>
#include <cmath>
#include <time.h>
#include <limits>
double bla(double x,const int n)
{
for (int i=0;i<n;i++)
{
x= 4*x*(1-x);
}
return x;
}
int main()
{
double a1 = 1.0/4.0;
double a2 = a1+a1*std::numeric_limits<double>::epsilon();
double b1,b2;
for (int n=0; n<=70;n+=10)
{
b1= bla(a1,n); b2= bla(a2,n);
printf("%d %lf %lf %lg\n", n, b1, b2, (b1-b2) );
}
return 0;
}
0 0.250000 0.250000 -5.55112e-017
10 0.750000 0.750000 1.13687e-013
20 0.750000 0.750000 1.16415e-010
30 0.750000 0.750000 1.19209e-007
40 0.750000 0.749878 0.00012208
50 0.750000 0.616384 0.133616
60 0.750000 0.613975 0.136025
70 0.750000 0.995892 -0.245892
Ani dwa, ani nawet 2000 bitów nic nie pomoże.
Najmniejsza odchyłka i trajektorie geometrycznie
się rozbiegają.
Dla lepszego związku z tematem dodam, że dwa bity więcej
nie spowodują, że zawsze dostaniesz dobry wynik. Dwa
bity więcej oznaczają, że najczęściej dostaniesz poprawny
wynik.
Któryś logarytm którejś liczby dobrze zapisanej
w systemie dwójkowym zapisze się źle mimo tych
dodatkowych bitów i katastrofa gotowa.
Zmieńmy naszą iterację na
x= exp(log(4.0)+log(x)+log(1-x));
0 0.250000 0.250000 -5.55112e-017
10 0.750000 0.750000 8.52651e-014
20 0.750000 0.750000 8.73115e-011
30 0.750000 0.750000 8.9407e-008
40 0.749969 0.749878 9.15621e-005
50 0.718126 0.616384 0.101742
60 0.950183 0.613966 0.336216
70 0.840387 0.994657 -0.15427
Odpłynęliśmy równie daleko, mimo, że zarówno argument
naszego wyrażenia, jak i wynik były zapisywalne dokładnie.
pzdr
bartekltg
Następne wpisy z tego wątku
- 26.03.13 23:11 M.M.
- 26.03.13 23:33 Adam Klobukowski
- 26.03.13 23:40 M.M.
- 27.03.13 01:38 bartekltg
- 27.03.13 08:31 M.M.
- 27.03.13 08:42 Tomasz Kaczanowski
- 27.03.13 08:47 Tomasz Kaczanowski
- 27.03.13 08:54 AK
- 27.03.13 08:55 AK
- 27.03.13 09:42 M.M.
- 27.03.13 09:47 M.M.
- 27.03.13 10:10 Tomasz Kaczanowski
- 27.03.13 10:25 M.M.
- 27.03.13 10:28 Michoo
- 27.03.13 11:16 AK
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa
- 2024-11-09 Warszawa => Sales Executive <=
- 2024-11-09 Wrocław => SAP BTP Consultant (mid/senior) <=
- 2024-11-09 Warszawa => ECM Specialist / Consultant <=
- 2024-11-09 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-10 TVN donosi: Obywatelskie zatrzymanie policjanta (nie na służbie)
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=