我今年13岁,正在学习编程。我非常了解Javascript和Python,但是我主要使用Node.js作为编译器来编程Javascript。
我有一个很天真的问题。我正在编写循环缓冲区的实现,我需要知道-7除以3时的余数。我去了Node.js控制台(11.1.0版)和Python控制台(Python 3.7)并输入了Override
public String toString() {
String result = description;
if (code != null) {
result += " (" + code + ")";
}
return result;
}
。在Node.js控制台中,它打印了<p:autoComplete id="acArticleColor"
value="#{createOrderSelectionView.productionOrder.articleColor}"
completeMethod="#{createOrderSelectionView.completeTextArticleColor}"
style="margin-bottom:10px;" var="articleColor"
itemLabel="#{articleColor}" converter="articleColorConverter"
itemValue="#{articleColor.pk}" forceSelection="true">
</p:autoComplete>
,但是在Python控制台中,它打印了-7 % 3
。我的问题部分是数学上的:哪个答案是正确的,是-1还是2?
答案 0 :(得分:1)
两者都是正确的,但它们是不同的东西。 Python使用实际模数,这是正数。 Javascript会做余数,可以为负数。
如果您始终需要一个正值,则可以将除数(的倍数)添加到该值中,并确保它始终大于零,并且始终得到相同的答案。或之后检查负值,然后添加除数以获取模量。