[Megoldva] Negatív szám egy pozitívból modulo révén?

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.

Hozzászólások

Az megvan, higy a számítógép hogyan ábrázolja a számokat?

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… )

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.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧