c - 我应该如何获得浮点值的小数部分?
问题描述
我有一个x
type变量float
,我需要它的小数部分。我知道我可以得到它
x - floorf(x)
, 或者fmodf(x, 1.0f)
我的问题:其中一个总是比另一个更可取吗?它们实际上是一样的吗?我可以考虑第三种选择吗?
笔记:
- 如果答案取决于我使用的处理器,让我们将其设为 x86_64,如果您可以详细说明其他处理器,那会很好。
- 请确保并参考
x
. 我不介意这种或那种行为,但我需要知道这种行为是什么。
解决方案
我可以考虑第三种选择吗?
它有专门的功能。modff的存在是将数字分解为整数和小数部分。
float modff( float arg, float* iptr );
将给定的浮点值分解
arg
为整数和小数部分,每个部分都具有与 相同的类型和符号arg
。整数部分(浮点格式)存储在 指向的对象中iptr
。
推荐阅读
- c# - 传递 Func 的通用返回类型
- php - 如何扩展类 kartik\dynagrid\DynaGrid?
- php - Symfony 5 - 登录表单管理部分,无休止的重定向循环
- c# - 使用带有证书的 web 服务 c#/.net 并设置安全性,也不添加服务引用?
- amazon-web-services - S3 标准到 Glacier - 生命周期转换成本
- chart.js - 使 chartjs 在 x 轴上可滚动
- python - 如何自动化词汇游戏
- python - Python - 在数据框中查找相同 ID 的值
- linux - fscrypt - 启动时在加密文件夹中运行脚本
- pvlib - 调整时区以计算 solarPosition