पर्ल में, %
ऑपरेटर पूर्णांक मानता है। उदाहरण के लिए:आप फ़्लोटिंग पॉइंट नंबरों के div और mod की गणना कैसे करते हैं?
sub foo {
my $n1 = shift;
my $n2 = shift;
print "perl's mod=" . $n1 % $n2, "\n";
my $res = $n1/$n2;
my $t = int($res);
print "my div=$t", "\n";
$res = $res - $t;
$res = $res * $n2;
print "my mod=" . $res . "\n\n";
}
foo(3044.952963, 7.1);
foo(3044.952963, -7.1);
foo(-3044.952963, 7.1);
foo(-3044.952963, -7.1);
देता
perl's mod=6
my div=428
my mod=6.15296300000033
perl's mod=-1
my div=-428
my mod=6.15296300000033
perl's mod=1
my div=-428
my mod=-6.15296300000033
perl's mod=-6
my div=428
my mod=-6.15296300000033
अब के रूप में आप देख सकते हैं, मैं एक "समाधान" के साथ पहले से ही की गणना div
और mod
के लिए आए हैं। हालांकि, जो मुझे समझ में नहीं आता है, परिणामस्वरूप प्रत्येक तर्क के संकेत का क्या प्रभाव होना चाहिए। div
हमेशा सकारात्मक नहीं होगा, n2
की संख्या n1
में फिट बैठती है? इस स्थिति में गणित को कैसे काम करना चाहिए?
गणितीय पृष्ठभूमि के लिए, [मॉड्यूलर अंकगणितीय] (http://www.math.rutgers.edu/~erowland/modulararithmetic.html) और/या [सार को देखने के (या प्राथमिक) बीजगणित] (http://www.millersville.edu/~bikenaga/abstract-algebra-1/modular-arithmetic/modular-arithmetic.html)। – mctylr