Python/Google negatív modulus hiba!?
Az előbbibe futottam bele:
---
C kód:
#include <stdio.h>
int main()
{
int i = 7;
int j = -4;
int k = i%j;
printf("%d\n",k);
return 0;
}
---
Lefuttava eredmény: 3 OK
Java kód:
---
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Integer i = 7;
Integer j = -4;
System.out.println(i%j);
}
}
---
Lefuttava eredmény: 3 OK
PHP:
---
<?php
$i=7;
$j=-4;
echo($i%$j);
?>
---
PHP dettó, 3 az eredmény.
Viszont!
Python kód:
---
i=7
j=-4
print str(i%j)
---
Lefuttatva eredmény: -1 !!!!
Illetve begépelve a Google keresősávjába: "7%-4"-et , majd Enter,
Szintúgy -1 lesz az eredmény !!!!
---
A kérdésem az, hogy ez miért lehet? Különbözik a Python/Google modulus számítási algoritmusa a többi nyelvtől?
Típusos/nem típusos probléma nem lehet, mivel a PHP is gyengén típusos nyelv, mégis ott jól jelenik meg, azaz 3.
Ha jól tudom, előjeles / float számoknál mindkét oldal abszolút értékével kell számolni, majd a bal oldal előjelétől függ az eredmény.
Akkor melyik eredmény a helyes, a C,Java,PHP vagy a Python/Google -é?
cryp
- Tovább (Python/Google negatív modulus hiba!?)
- 1055 megtekintés