sziasztok
most kezdtem el python-nal foglalkozni és egy érdekes jelenségbe botlottam (legalábbis nekem érdekes)
float tipusu számokkal való bármilyen müvelet nem ad jó eredményt vissza
PyShell 0.9.5 - The Flakiest Python Shell
Python 2.5.1 (r251:54863, Oct 5 2007, 13:36:32)
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>1.0/2
>>0.5
>>0.2/2
>>0.10000000000000001 (<- ez miert ennyi???)
és ami a legkülönösebb
>>0.3
>>0.29999999999999999
googleban böngészve találtam a következő megoldást
from __future__ import division
de ezután is ugyanez a jelenség
lehet hogy ez egy régi probléma de nem nagyon találtam rá utalást googleban sem
oprendszer: ubuntu gutsy
Köszi
Zsolt
- 1015 megtekintés
Hozzászólások
[Off]
Azt, hogy mert ugy irja ki nem tudom, es a pythonhoz egyaltalan nem ertek, de ez eszembe jutatott egy aranyos allitast, miszerint
0.99... =1. (nem csalas, annyi) Itt persze nem errol van szo hiszen a 0.29999999999999999 vegen veges sok 9 van. Attol meg eleg megrazo elsore hogy vannak mennyisegek amiknek nem egyertelmu a szambeli alakja.
[/Off]
==
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.
- A hozzászóláshoz be kell jelentkezni
köszönöm. elolvastam és azt hiszem megértettem
- A hozzászóláshoz be kell jelentkezni
2-es szamrendszerben a tortszamokat a 2 negativ hatvanyainak osszegekent abrazoljak, pl. 0.7 = 1 * 1/2 + 0 * 1/4 + 1 * 1/8 + 1 * 1/16 + ...
a legtobb tizedestort viszont csak nem vegessok szamjeggyel irhato le kettes szamrendszerben, ezert pontatlan.
- A hozzászóláshoz be kell jelentkezni