त्रिकोणमिति फ़ंक्शन बनाने में 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.0x
नोट: यह एक सवाल नहीं है कि 0.0बनाम क्यों -0.0होता है। ऐसा नहीं है कि क्यों cos(machine_pi/4)नहीं लौटा 0.0। न ही यह सवाल है कि कैसे 0.0या की पीढ़ी को नियंत्रित किया जाए -0.0। मैं इसे डिजाइन प्रश्न के रूप में सबसे अच्छा देखता हूं।
sind(180), sind(-180), sind(360), sind(-360),...?