我该怎么做方案浮点模操作?

%是没有定义的。 modulo只适用于整数。 我想要的东西等同于JavaScript的模/ C的FMOD。

--------------解决方案-------------

我不知道方案,但在数学上,你可以这样做:

rem = num - trunc(num / mod) * mod;

因此,对于一些像2.5 MOD 2,你会得到:

2.5 - trunc(2.5 / 2) * 2
= 2.5 - trunc(1.25) * 2
= 2.5 - 1 * 2
= 2.5 - 2
= 0.5

这里是JavaScript等价的,我相信,其中n =股息,D =除数:

(let ((nOverD (/ nd)))
(let ((q (if (> nOverD 0.0) (floor nOverD) (ceiling nOverD))))
(- n (* dq))))

该flonum库定义flmod这你想要做什么。 在试验计划:

(require rnrs/arithmetic/flonums-6)
(flmod pi (sqrt 2))

如果你的目标是恢复正常的角度-π和π之间的适合,那么你就可以做到这一点是这样的:

(angle (make-polar 1 x))

否则,你可以扩展你的论点:

(define (mod* xy)
(let* ((pi (* 4 (atan 1)))
(c (/ y pi))
(result (angle (make-polar 1 (/ xc)))))
(* (+ result (if (negative? result) pi 0)) c)))

我不知道该功能应该如何表现为负的参数,所以我没有考虑。

它看起来像余数是你想要的字。 从这里:

(remainder -13 -4.0) -1.0

分类:方案 时间:2015-03-15 人气:0
本文关键词: 方案
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.651 (s). 10 q(s)