Açı fonksiyonları oluştururken my_sind(d)
, my_cosd(d)
, my_tand(d)
bu bir derece argüman yerine radyan kullanmadım ve 90 katları ile kesin cevaplar sağlanan, ben Sonuç bazen olduğunu fark -0.0
ziyade 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()
ve tan()
tipik olarak belirli bir işaret sıfır girişi için aynı işaret sıfır sonucunu döndürür. Bu girdilerle my_sin()
uyuşması mantıklı sin()
.
my_sind( 0.0) alike sin( 0.0) --> 0.0
my_sind(-0.0) alike sin(-0.0) --> -0.0
Soru : tam sayı ne için non_zero_n
/ sonuç hiç döndürebilir gerektiğini -0.0
için my_sind(180*non_zero_n)
, my_cosd(180*n + 180)
, my_tand(180*non_zero_n)
?
Kodlamak yeterince kolaydır, bu yüzden sadece f(-0.0)
üretir -0.0
ve onunla yapılabilir. Başka herhangi bir f(x)
geri dönüş yapmak -0.0
için herhangi bir neden olup olmadığını ( sıfır olmayan ) x
ve bu işareti sigortalamanın önemini merak etmek basittir .
Not: Bu, 0.0
vs.'nin neden -0.0
oluştuğu sorusu değildir . Bu yüzden cos(machine_pi/4)
geri dönmüyor 0.0
. Bu 0.0
ya da neslinin nasıl kontrol edileceği sorusu da değildir -0.0
. Bunu en iyi tasarım sorusu olarak görüyorum.
sind(180), sind(-180), sind(360), sind(-360),...
?