首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fmodf返回相同的值

Fmodf返回相同的值
EN

Stack Overflow用户
提问于 2015-01-27 08:39:03
回答 1查看 22关注 0票数 0

下面是我的代码:

代码语言:javascript
复制
x = fmodf((float)rand(), (float)(1/sqsize)) + x1;

问题是,当sqsize是4的平方倍数的倍数(例如4,16,64)时,它总是返回相同的数字。sqsize是倍数的平方根(因此对于4是2,对于16是4,对于64是8,依此类推)。

x1定义为:

代码语言:javascript
复制
x1 = fmodf(value,sqsize)/sqsize;

其中value等于0-sqsize^2中的数字。

你知道为什么我总是得到相同的值吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-01-27 08:47:36

Try (float)(1.0/sqsize) -在当前计算出1/sqsize之前,您正在使用的(float)强制转换不会执行任何操作。这意味着它可能会一直求值为0。

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

https://stackoverflow.com/questions/28161387

复制
相关文章

相似问题

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