在创建三角函数my_sind(d)
,my_cosd(d)
,my_tand(d)
,即使用了度参数,而不是一个弧度一个以90的倍数提供确切的答案,我注意到,结果是有时-0.0
不是0.0
。
my_sind( 0.0) --> 0.0
my_sind(-0.0) --> -0.0
my_sind(180.0) --> -0.0
my_sind(360.0) --> 0.0
sin()
并且tan()
通常会针对给定的零符号输入返回相同的零符号结果。my_sin()
应该sin()
为这些输入匹配才有意义。
my_sind( 0.0) alike sin( 0.0) --> 0.0
my_sind(-0.0) alike sin(-0.0) --> -0.0
现在的问题是:什么整数non_zero_n
应/可将结果再回到-0.0
为my_sind(180*non_zero_n)
,my_cosd(180*n + 180)
,my_tand(180*non_zero_n)
?
编写代码很容易,因此只需f(-0.0)
生成-0.0
并完成即可。简单地想知道是否有任何理由使任何其他 f(x)
回报-0.0
(非零),x
以及确保该符号的重要性。
注:这是不是为什么的问题0.0
与-0.0
发生。这不是为什么cos(machine_pi/4)
不回来0.0
。这也不是如何控制0.0
或的生成的问题-0.0
。我将其视为设计问题是最好的。
sind(180), sind(-180), sind(360), sind(-360),...
?