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

整数除法以浮点结果

盖弘毅
2023-03-14
问题内容

5年前关闭。

我必须将两个整数相除并得到一个浮点数作为我的代码:

Float ws;
int i = Client.getInstance().getUser().getGespielteSpiele() -Client.getInstance().getUser().getGewonneneSpiele();
int zahl1 = Client.getInstance().getUser().getGewonneneSpiele();

ws = new Float((zahl1 / i));

我用调试器检查值

i = 64

zahl1 = 22

ws = 0.0

为什么结果为ws0.0?我应该怎么做才能获得正确的浮动?


问题答案:

当您将两个int数相除时,将执行整数除法,在这种情况下,将导致22/64
=0。只有完成此操作后,您才能创建一个float。和的float表示00.0。如果要执行浮点除法,则应 除法 之前进行
强制转换:

ws = ((float) zahl1) / i;


 类似资料:
  • 问题内容: 这是故意的吗?我强烈记得以前的版本返回了吗?我该怎么办,有没有新的分公司运营商,或者我必须始终选拔? 问题答案: 更改除法运算符

  • 我的问题是,是否有一种方法可以在不通过堆栈的情况下完成所有这些操作。x86_64是否有将xmm0的内容复制到eax或其他通用寄存器的内插? 编辑:问题本身在讨论过程中发生了变化。最后有两个备注,在这两个备注中,我都引用了Intel C++复杂参考的相应部分。 > 可以使用intrinsics在通用Regiter和XMM寄存器之间移动数据(“Steaming SIMD Extensions->流式S

  • 最近的一个问题,编译器是否允许用浮点乘法代替浮点除法,启发了我提出这个问题。 在严格要求代码转换后的结果应与实际除法运算在位上相同的情况下,很容易看出,对于二进制IEEE-754算法,除数为2的幂的除数也是可能的。只要除数的倒数是可表示的,乘以除数的倒数就会得到与除数相同的结果。例如,乘以0.5可以代替除以2.0。 然后,人们会想知道这种替换的其他除数还能起什么作用,假设我们允许任何替换除法但运行

  • 问题内容: 因此,如果我有一个范围为‘0-1024’的数字,并且希望将其取为‘0-255’,那么数学将决定将输入除以输入的最大值(在这种情况下为1024),从而得出我的数字介于0.0-1.0之间。然后将其乘以目标范围(255)。 我要做什么! 但是由于Java中的某些原因(使用处理),它将始终返回值0。 该代码将像这样简单 但是我只得到0.0。我已经尝试过两次和诠释。一切都无济于事。为什么!? 问

  • 霍尼韦尔DPS8计算机(和其他计算机)有一条“除分数”指令: “此指令将71位分数除数(包括符号)除以36位分数除数(包括符号),形成36位分数商(包括符号)和36位分数余数(包括符号)。余数的第35位对应于被除数的第70位。除非余数为零,否则余数符号等于被除数符号。” 据我所知,这是整数除法,小数点在左边。 (我确实在白天将整数数学进行了前移,但我对这些技术的记忆在时间的迷雾中消失了。) 要在D

  • 在我的计算机科学课程中,我们正在研究浮点数以及它们在内存中是如何表示的。我已经理解了它们在内存中是如何表示的(尾数/有效数、指数及其偏差、符号位),我也理解了浮点是如何相互添加和减去的(反规格化和所有那些有趣的东西)。然而,在翻阅一些学习问题时,我注意到一些我无法解释的东西。 当一个不能精确表示的浮点数加到自己身上几次时,答案比我们在数学上预期的要低,但当同一个浮点数乘以一个整数时,答案就精确地得