-
Data: 2013-03-25 18:40:31
Temat: Re: Nowoczesne procesory - jak to z nimi jest?
Od: "AK" <n...@n...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik "M.M." <m...@g...com> napisał:
>> Kto Ci powiedzial ze fp C/C++ jest zapisane w postaci poteg dwojki ?
>> A moze sa pamietane decymalnie ? Albo siodemkowo ?
>
>Nikt mi nic takiego nie mówił, ani ja nic takiego nie mówię.
>
> Mówię tylko to, że jeśli jeden raz pow(3.0,2.0) równa się 9.0 na ostro, a
> drugi raz nie równa się, to ten pierwszy raz jest dokładniej.
Otoz nie.
Moze sie okazac, ze ten koproc/kompilator ktory akurat daje dokladnie
w tym przypadku pow(3.0,2.0), w wiekszosci innych przypadkow
sie "myli", natomiast ten gdy ten gorszy liczy "dobrze".
> Być może taka dokładność jest okupiona wolniejszym wykonaniem.
Byc moze, a byc moze nie (np inna reprezentacja wewnetrzna,
inna dlugoscia akumulatora itp).
Naprawde dyskusje o fp sa toczone na usenecie od zawsze (rowniez przeze
mnie wiec na stare lata sobie dam spokoj z nawracaniem kolejnego pokolenia
"mlodych gniewnych wiedzacych lepiej" bo mi szkoda resztek zycia.
Zalosc tylko bierze, ze na studiach tak podstawowej rzeczy nie ucza jak
traktowanie liczb fp w jezykach programowania jako ZAWSZE
obarczonych pewnym bledem.
Ta "niedokladnosc" nalezy traktowac nie jako neidoskonalosc
kompilatora/procesora ale jako NATURE tych liczb.
Owszem, ciagle w kompilatorach dazy sie do uleopszen w celu
molziwie najwiekszej dokladnosci/mozliwie najwiekszemu zneutralizowaniu
tej CECHY fp, ale absolutnie nie nalezy tego uwazac za
"zalatwienie" problemu. (Przyklad ostatnich ulepszen dla Pythona
na koncu).
Hint: szukaj chocby mych postow tyczacych fp
(Google: Adam Karpierz, liczby zmiennoprzecinkowe), a jak mi
nie wierzysz to spojrz do pierwszej ksiazki jaka przeczytalem po
postanowieniu nauczenia sie programowania:
prof Maciej Syslo "Algorytmy optymalizacji w jezyku Algol60"
a tam w pierwszym algorytmie - simplex - jak byk stoi cos w rodzaju
if abs(x - y) <= EPS then // czyli odpowiednik x == y
begin
comment Solution found;
...
end;
Pozdrawiam
AK
------------------
.
Conversions between floating-point numbers and strings are now correctly rounded on
most platforms.
These conversions occur in many different places: str() on floats and complex
numbers; the float and
complex constructors; numeric formatting; serializing and deserializing floats and
complex numbers
using the marshal, pickle and json modules; parsing of float and imaginary literals
in Python code;
and Decimal-to-float conversion.
Related to this, the repr() of a floating-point number x now returns a result based
on the shortest
decimal string that's guaranteed to round back to x under correct rounding (with
round-half-to-even
rounding mode). Previously it gave a string based on rounding x to 17 decimal digits.
The rounding library responsible for this improvement works on Windows and on Unix
platforms using
the gcc, icc, or suncc compilers. There may be a small number of platforms where
correct operation
of this code cannot be guaranteed, so the code is not used on such systems. You can
find out which
code is being used by checking sys.float_repr_style, which will be short if the new
code is in use
and legacy if it isn't.
Implemented by Eric Smith and Mark Dickinson, using David Gay's dtoa.c library; issue
7117.
.
Conversions from long integers and regular integers to floating point now round
differently,
returning the floating-point number closest to the number. This doesn't matter for
small integers
that can be converted exactly, but for large numbers that will unavoidably lose
precision, Python
2.7 now approximates more closely. For example, Python 2.6 computed the following:
>>>>>> n = 295147905179352891391
>>> float(n)
2.9514790517935283e+20
>>> n - long(float(n))
65535L
Python 2.7's floating-point result is larger, but much closer to the true value:
>>>>>> n = 295147905179352891391
>>> float(n)
2.9514790517935289e+20
>>> n - long(float(n))
-1L
(Implemented by Mark Dickinson; issue 3166.)
Integer division is also more accurate in its rounding behaviours. (Also implemented
by Mark
Dickinson; issue 1811.)
Następne wpisy z tego wątku
- 25.03.13 19:36 M.M.
- 26.03.13 10:21 darekm
- 26.03.13 12:25 M.M.
- 26.03.13 14:42 darekm
- 26.03.13 14:48 AK
- 26.03.13 14:57 firr kenobi
- 26.03.13 15:32 AK
- 26.03.13 15:41 M.M.
- 26.03.13 17:43 M.M.
- 26.03.13 19:02 Adam Klobukowski
- 26.03.13 19:10 M.M.
- 26.03.13 22:00 M.M.
- 26.03.13 22:01 Adam Klobukowski
- 26.03.13 22:11 Adam Klobukowski
- 26.03.13 22:29 M.M.
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-18 Co grozi Żurkowi za jego działania polityczne?
- 2026-01-17 To się NIE DZIEJE
- 2026-01-17 Czy to się kwalifikuje pod jakiś paragraf?
- 2026-01-17 Piaseczno cd 2
- 2026-01-17 Chlapacze do OPLA ale GUMOWE
- 2026-01-17 Toyota dba o Niemców.
- 2026-01-17 Wrocław => Junior Konsultant wdrożeniowy ERP <=
- 2026-01-17 Zlacze w mikrofonie z lat 80-tych
- 2026-01-17 Warszawa => Inżynier Systemów i Sieci <=
- 2026-01-17 Czy Trenerzy AI już kogoś pozwali za "zatrute ciastka"?
- 2026-01-17 Poznań => Konsultant SAP HCM <=
- 2026-01-17 Niestabilny materiał wybuchowy W AKCJI
- 2026-01-17 Myślenice => Junior SAP CO Consultant <=
- 2026-01-17 Warszawa => Data Developer <=
- 2026-01-17 pozwy przeciwko OpenAI związane z samobójstwami




Fakturzystka, fakturzysta