gpt4 book ai didi

java - 我的值与编译器和计算器不同

转载 作者:行者123 更新时间:2023-12-01 16:47:02 26 4
gpt4 key购买 nike

我正在编写一段代码(我知道输出,在Java中),在编译它并给出输入后,我得到了一个奇怪的值。

代码片段 -

    long a,b,c;
a=-245436499;
b=992;
c=(a+b);
System.out.print(c%b);

它给我的输出

-819

但是当我用计算器计算时,结果是

173 \\why?

证明:
Calculators output
Compiler's output

最佳答案

有两种计算负数模的方法:

  1. Java(根据 JLS)使用“保留符号”方法;即如果第一个操作数为负数,则非零结果为负数
  2. 通过将(如有必要)第二个操作数添加到方法 1 的结果中,结果为正

您的计算器显然使用方法 2 (-819 + 992 = 173)

关于java - 我的值与编译器和计算器不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48635282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com