Trong việc tạo ra các chức năng trang điểm my_sind(d), my_cosd(d), my_tand(d), mà sử dụng một đối số mức độ chứ không phải là một radian và cung cấp câu trả lời chính xác ở bội số của 90, tôi nhận thấy rằng kết quả là đôi khi -0.0hơn 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()và tan()thường trả về cùng một kết quả bằng không cho một đầu vào không có dấu đã cho. Nó có ý nghĩa my_sin()nên phù hợp sin()cho những đầu vào.
my_sind( 0.0) alike sin( 0.0) --> 0.0
my_sind(-0.0) alike sin(-0.0) --> -0.0
Câu hỏi đặt ra là : đối với những gì toàn bộ số non_zero_nnên / có thể kết quả bao giờ trở lại -0.0cho my_sind(180*non_zero_n), my_cosd(180*n + 180), my_tand(180*non_zero_n)?
Nó là đủ dễ dàng để mã để chỉ f(-0.0)sản xuất -0.0và được thực hiện với nó. Đơn giản tự hỏi nếu có bất kỳ lý do để thực hiện trở lại khác cho bất kỳ khác (khác không ) và tầm quan trọng của bảo hiểm dấu hiệu đó.f(x)-0.0x
Lưu ý: Đây không phải là một câu hỏi tại sao 0.0so với -0.0xảy ra. Đây không phải là lý do tại sao cos(machine_pi/4)không trở lại 0.0. Đây không phải là một câu hỏi làm thế nào để kiểm soát việc tạo ra 0.0hoặc -0.0. Tôi thấy nó tốt nhất như một câu hỏi thiết kế.
sind(180), sind(-180), sind(360), sind(-360),...gì?