2010-08-31 28 views

回答

10

沒有,Perl 5中定義了模運算的perlop,甚至有測試,以確保它可以作爲證明。/

從的Perl /噸/ OP arith.t

tryeq $T++, 13 % 4, 1; 
tryeq $T++, -13 % 4, 3; 
tryeq $T++, 13 % -4, -3; 
tryeq $T++, -13 % -4, -1; 

但是,如果使用integer編譯,你在C編譯器的憐憫。

+1

值得一併稱C99指定[不同的,不兼容的行爲](http://stackoverflow.com/questions/3609572/does-either-ansi-c-or-iso-c-specify-what-5-10 -應該)。 – 2010-09-01 13:09:19

2

Perl實現了自己的模運算符,但是您可以使用integer編譯指示從您的C編譯器中得到一個。 perlop

請注意,當使用整數在範圍內時,「%」使您可以直接訪問您的C編譯器實現的模運算符。對於負操作數,該運算符的定義不夠明確,但運算速度會更快。

也就是說,當您使用integer時,您必須小心,因爲模可能會給您不同的答案。

相關問題