我应该如何获得浮点值的小数部分?

我有一个xtype变量float,我需要它的小数部分。我知道我可以得到它

  • x - floorf(x), 或者
  • fmodf(x, 1.0f)

我的问题:其中一个总是比另一个更可取吗?它们实际上是一样的吗?我可以考虑第三种选择吗?

笔记:

  • 如果答案取决于我正在使用的处理器,那就让它成为 x86_64,如果你能详细说明其他处理器,那会很好。
  • 请确保并参考 的负值行为x。我不介意这种行为或那种行为,但我需要知道这种行为是什么。

回答

我可以考虑第三种选择吗?

有专门的功能。modff用于将数字分解为其整数部分和小数部分。

float modff( float arg, float* iptr );

将给定的浮点值分解arg为整数部分和小数部分,每个部分与 具有相同的类型和符号arg。整数部分(浮点格式)存储在 指向的对象中iptr


以上是我应该如何获得浮点值的小数部分?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>