Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Operator / - % = zašto ovo?

[es] :: PHP :: Operator / - % = zašto ovo?

[ Pregleda: 2194 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

c00l_daem0n
Beograd

Član broj: 309
Poruke: 294
*.telekom.yu.

Jabber: andrew@elitesecurity.org
ICQ: 53650656


Profil

icon Operator / - % = zašto ovo?03.12.2004. u 21:01 - pre 235 meseci
Pozdrav,

Počeo sam malo da radim osnove u PHP-u, i naletim na primer gde mi nije baš najjasnije o čemu se radi:

Code:

$var = (19/10 - (19%10)/10)-1;  //vrednost u zagradi je 1 tipa float
echo $var;   // dakle, ocekivao sam ovde 0, ali... neki drugi put


Na konzoli ispisuje vrednost -1.11022302463E-016
Tu sam jos malo kombinovao, castovao, menjao, stavljao neke delove izraza u nove promenljive, međutim nisam došao do rešenja koje je meni logično.
Verujem da se radi o stvari koja je sasvim normalna u PHP-u, ali eto...
Would you translate me on the other page in face = Da li biste me preveli na drugu stranu ulice
 
Odgovor na temu

boccio
Boris Krstović
Spoonlabs.com
nbgd

Član broj: 7594
Poruke: 2458
*.ptt.yu.

Sajt: bocc.io


+771 Profil

icon Re: Operator / - % = zašto ovo?03.12.2004. u 21:23 - pre 235 meseci
'%' (modulus) je binarni operator, daje integer ostatak pri deljenju dva broja...npr. 5 % 4 = 1, itd...

sto se tvog primera tice - rezultat bi i trebalo da bude nula...!?
Jeff, one day you’ll understand that it’s harder to be kind than clever.
 
Odgovor na temu

c00l_daem0n
Beograd

Član broj: 309
Poruke: 294
*.telekom.yu.

Jabber: andrew@elitesecurity.org
ICQ: 53650656


Profil

icon Re: Operator / - % = zašto ovo?03.12.2004. u 21:36 - pre 235 meseci
Da, znam kako radi % operator još iz C-a i Jave, pa mi zato i ne ide u glavu.
Would you translate me on the other page in face = Da li biste me preveli na drugu stranu ulice
 
Odgovor na temu

Milos Stojanovic
Belgrade

Član broj: 10343
Poruke: 1864
*.nat-pool.bgd.sbb.co.yu.

ICQ: 282954730
Sajt: www.sietf.org


+7 Profil

icon Re: Operator / - % = zašto ovo?03.12.2004. u 21:37 - pre 235 meseci
zanimljivo, verovatno problem u reprezentaciji brojeva u PHPu. Ne verujem da je bug u pravom smislu reči, jer trebalo bi da se isto ovako ponaša i u ostalim jezicima, mada me mrzi sad da probam. Uglavnom, nešto oko zaokruživanja, me thinks ...
operator % u svakom slučaju radi dobro :) , tj:
http://default.co.yu/~trooper/bug.php
Code:
<html>
<?php
        echo 19/10 - 9/10 - 1;
?>
</html>

isto daje taj -1.1102230246252E-16

[Ovu poruku je menjao trooper dana 03.12.2004. u 22:48 GMT+1]
ex. trooper
Oh goody... it's my Illudium PU-36 Explosive Space Modulator!
Softversko Inženjerstvo
♪♫♪
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Operator / - % = zašto ovo?03.12.2004. u 21:42 - pre 235 meseci
Šta tu ima da bude čudno? To je greška u operacijama brojevima s pokretnim zarezom.

To je razlog što bi trebalo da se pazi kada tok programa zavisi od rezultat nekih operacija koji treba da se poredi s nulom.

Recimo.
Code:
$r = 19/10 - 9/10;
if ($r - 1 == 0)...

... i greška. Ispravlja se ovako:
Code:
$tolerancija = 1 / pow (10, 10);
$r = 19/10 - 9/10;
if (abs ($r - 1) < $tolerancija)...


[Ovu poruku je menjao noviKorisnik dana 03.12.2004. u 22:56 GMT+1]
 
Odgovor na temu

Milos Stojanovic
Belgrade

Član broj: 10343
Poruke: 1864
*.nat-pool.bgd.sbb.co.yu.

ICQ: 282954730
Sajt: www.sietf.org


+7 Profil

icon Re: Operator / - % = zašto ovo?03.12.2004. u 21:47 - pre 235 meseci
Yup, zaista, sad sam video. Sve lepo piše i na http://www.php.net/manual/en/language.types.float.php a bogami i na http://stevehollasch.com/cgindex/coding/ieeefloat.html ;)
ex. trooper
Oh goody... it's my Illudium PU-36 Explosive Space Modulator!
Softversko Inženjerstvo
♪♫♪
 
Odgovor na temu

Radovan__III
Radovan__III
Beograd

Član broj: 15669
Poruke: 1245
*.vdial.verat.net.



+26 Profil

icon Re: Operator / - % = zašto ovo?05.12.2004. u 10:48 - pre 235 meseci
zanimljivo je da ovo savrseno radi

Code:

$var = (19/10 - (19%10)/10)+1-2;  // +1 -2
echo $var;   // sad jeste 0

Aj sad svi u biblioteku da nesto pojedemo i popijemo ...
--------------------------------
Knjigovodstvo

 
Odgovor na temu

[es] :: PHP :: Operator / - % = zašto ovo?

[ Pregleda: 2194 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.