ในการสร้างฟังก์ชั่นหนุนmy_sind(d), my_cosd(d), my_tand(d)ที่ใช้ในการโต้แย้งการศึกษาระดับปริญญามากกว่าเรเดียนหนึ่งและให้การตอบแน่นอนที่หลาย 90 ผมสังเกตเห็นว่าผลที่ได้บางครั้งมากกว่า-0.00.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),...อย่างไรเกี่ยวกับ