Hogy lehet az, hogy egy php szkriptben (7.4.3) ez negatív számot produkál?
return $count % 1000000007; (a $count itt: 3.2357122556155E+27)
Szerk: ha a $count-ot nem csak a legvégén "vágom le", akkor nem jön elő ilyen helyzet.
- 427 megtekintés
Hozzászólások
problem is that
$x
notinteger
butfloat
and casted to negativeint
when you use%
Try use
BCMath
instead for big numbers
https://stackoverflow.com/questions/11993869/php-mod-function-goes-to-n…
- A hozzászóláshoz be kell jelentkezni
Az megvan, higy a számítógép hogyan ábrázolja a számokat?
- A hozzászóláshoz be kell jelentkezni
Az meg, hogy kettes komplemens, de azt hittem, ez a % operátor van annyira fantáziadús, hogy nem csúsztat be negatív tartományba biteket. Mindenesetre tanulságos a fenti SO hivatkozás, hogy ne akarjak lebegőpontos számból modulust (Köszönet ezért, Gemnon: https://stackoverflow.com/questions/11993869/php-mod-function-goes-to-n… )
- A hozzászóláshoz be kell jelentkezni
De az gond lehet, hogy ekkora számoknál mekkora a lebegőpontos típusod 'felbontása'. Mert ha ez már az x==x+1000 tartomány, akkor a modulónak sincs sok értelme.
- A hozzászóláshoz be kell jelentkezni
Ja, az meglenne nekem is, de ez engem is meglep. Azért vannak a magas szintű nyelvek, meg a libek hozzá, hogy alap dolgokban az az eredmény jöjjön ki, amire emberi fejjel lehet gondolni. Ez, amit te írsz, hogy low level szinten hogy ábrázol a CPU, FPU, az max. ASM szintjén lenne érdekes. Legalább az ember elvárná, hogy magas szintű nyelven ez ne adjon negatív eredményt.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
asm szinten nemigazan erdekes, ott az emberfia tudas hijan sajatmaganak osztja a nyaklevest :D
HUP te Zsiga !
- A hozzászóláshoz be kell jelentkezni