当前位置: 首页 > 面试题库 >

具有负值的模量运算-很奇怪吗?

贲培
2023-03-14
问题内容

你能告诉我多少钱(-2) % 5吗?根据我的Python解释器是3,但是您对此有一个明智的解释吗?

我读过某些语言的结果可能与机器有关,但是我不确定。


问题答案:

顺便说一句:大多数编程语言都会不同意Python并给出结果-2。根据模量的解释,这是正确的。但是,最公认的数学定义是 ab 的模数是
a / b 除法的(严格为正)余数 r 。更确切地说,0 <= r < b 定义为。



 类似资料:
  • 问题内容: 请考虑以下代码片段: 据我所知(以及我的IDE可以告诉我的),变量和应该是等效的。 如您所料,我宁愿写最后2行而不是前7行。但是,当我向该方法传递3个空值时,在变量的计算上得到了NPE 。 有人知道这怎么可能吗?即使条件不满足,三元运算符也会评估第二部分吗? (Java版本1.6.0_21) 问题答案: 尝试: 要么 三元运算符的交替边的类型是和,这意味着将get取消装箱到,然后在赋值

  • 但最奇怪的是,这段代码也在没有任何异常的情况下成功运行: 看起来Java的三元运算符改变了行为。有人能解释一下这是为什么吗?

  • 结果是真是假 我不知道我的运算符重载有什么问题?(mc2应该小于mc1) 我不确定在BST中搜索“MyClass”节点是否正确?结果是“未找到”......我将其追踪到“BST. cpp”,发现问题也出现在“if(项目 谁能帮我或者给我一个提示......非常感谢!

  • 问题内容: 为什么此代码有效? 为什么这会引发异常? 但是最奇怪的是,该代码也可以成功运行,没有任何异常: 看来Java的三元运算符会改变行为。有人可以解释为什么吗? 问题答案: 该行为在JLS- 条件运算符中 指定: 如果第二和第三个操作数中的一个是原始类型T的,并且其他的类型是施加装箱转换(§5.1.7)到T的结果,则 条件表达式的类型为T 。 强调我的。因此,在第二种情况下: 由于第三个操作

  • 问题内容: 以下是来自java.lang.System类的代码(JDK版本1.6) 当我们在代码中编写代码时,为什么即使将“ out”设置为“ null”也不会得到NullPointerException 无论如何,将通过System类中的以下方法进行设置 那么为什么JLS需要方法? 问题答案: 看看-这个方法被称为启动事情,它调用的是一个方法。这将它与应该存在的位置联系在一起。 因此,即使该字段

  • 我在时间管理上使用过很多次。 当向mktime提供一个包含负值的结构tm时,我注意到一些非常奇怪的事情。 以下面的代码为例。2013年11月3日,洛杉矶的DST发生了变化。如果我在tm中指定时间为2013-11-04午夜,并减去24小时,则得到的值与2013-11-03午夜相同。它与UTC的时差为25小时,这很好,就像isdst=-1一样,我们可以说是在看“Wallcock time”。减去144