首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是不是忘记了关于模算子的一些非常基本的东西?

我是不是忘记了关于模算子的一些非常基本的东西?
EN

Stack Overflow用户
提问于 2013-09-29 22:53:07
回答 1查看 292关注 0票数 2

下面的代码有问题吗?

代码语言:javascript
复制
public class testing111 {
   public static void main(String[] args) {
      int t = 0;
      System.out.println((t-5)%360);      
  }

}

我以上的代码输出-5。我想答案应该是355,我甚至检查了wolframalpha:http://www.wolframalpha.com/input/?i=%280-5%29%25360

是什么让它这么做的?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-29 22:54:59

在这里,WolframAlpha和Java的行为似乎不同。

在Java中,您可以从模操作符中得到一个负面的结果。想想“如果我把-5除以360,然后取剩下的部分”,因为-5 / 360是0,那么剩下的-5就是不能被分割的-5。所以Java的结果是-5。

如果您想要WolframAlpha生成的答案,如果来自模运算符的结果小于0,则应该添加360。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19084214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档