danza
2007-03-24 16:36:14 UTC
Qualcuno saprebbe spiegarmi perché Python invece che seguire la
definizione matematica di quoziente e resto che prevede che il resto
sia sempre positivo, ha scelto una convenzione diversa ponendo il
resto con lo stesso segno del divisore, convenzione per altro diversa
dai linguaggi precedenti come Pascal, C che danno al resto lo stesso
segno del dividendo?
Definizione matematica:
14 / 3 --> q = 4 r = 2
14 /-3 --> q =-4 r = 2
-14 / 3 --> q =-5 r = 1
-14 /-3 --> q = 5 r = 1
Python:
14 / 3 --> q = 4 r = 2
14 /-3 --> q =-5 r =-1
-14 / 3 --> q =-5 r = 1
-14 /-3 --> q = 4 r =-2
Da matematico, non mi sembra carino che i linguaggi di programmazione
utilizzino convenzioni diverse da quella matematica, e peggio ancora
diverse tra di loro. Mi sembra fonte di notevole confusione.
Daniele
definizione matematica di quoziente e resto che prevede che il resto
sia sempre positivo, ha scelto una convenzione diversa ponendo il
resto con lo stesso segno del divisore, convenzione per altro diversa
dai linguaggi precedenti come Pascal, C che danno al resto lo stesso
segno del dividendo?
Definizione matematica:
14 / 3 --> q = 4 r = 2
14 /-3 --> q =-4 r = 2
-14 / 3 --> q =-5 r = 1
-14 /-3 --> q = 5 r = 1
Python:
14 / 3 --> q = 4 r = 2
14 /-3 --> q =-5 r =-1
-14 / 3 --> q =-5 r = 1
-14 /-3 --> q = 4 r =-2
Da matematico, non mi sembra carino che i linguaggi di programmazione
utilizzino convenzioni diverse da quella matematica, e peggio ancora
diverse tra di loro. Mi sembra fonte di notevole confusione.
Daniele