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
$xnotintegerbutfloatand casted to negativeintwhen you use%Try use
BCMathinstead 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.
“Linux isn't an OS, it's a troubleshooting sim game.” (a YouTube commenter)
- 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