首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android -1除以2=0

Android -1除以2=0
EN

Stack Overflow用户
提问于 2012-05-12 01:05:29
回答 8查看 15.2K关注 0票数 3

我一直在尝试使用我的android新IOIO,需要找到一个信号的频率。

所以我把信号转换成二进制,然后用1除以1之间的时间,虽然当我这样做的时候,我发现我得到的输出是0。然后我决定看看1/2给了我什么,令我惊讶的是它也给了0!有人知道为什么会这样吗?

代码:private float frequency = 1/2;

这可能与使用Float.toString(frequency)有关吗

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-05-12 01:06:32

这是一个整数除法的例子。尝试:

代码语言:javascript
运行
复制
private float frequency = 1.0/2.0;

Java将执行1/2,其结果为0.5。然而,由于Java认为这是对整数的操作(而0.5不是整数),所以它将截断小数,只留下整数部分0。通过告诉Java使用浮点数(1.0与1),您告诉它保留中间计算的小数部分。

票数 11
EN

Stack Overflow用户

发布于 2012-05-12 01:07:48

1和2在java中是整数。如果你想让它们被显式地解释为浮点数,你需要这样做。

代码语言:javascript
运行
复制
private float frequency = 1f/2f;

如果你不关心这个数学运算是不是真的先做了double,那么这段代码就更容易读懂了:

代码语言:javascript
运行
复制
private float frequency = 1.0/2.0;
票数 5
EN

Stack Overflow用户

发布于 2012-05-12 01:06:40

这是整数除法(仅限整数)。

尝试:

代码语言:javascript
运行
复制
private float frequency = 1/2.0;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10555690

复制
相关文章

相似问题

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