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.0
hơ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_n
nên / có thể kết quả bao giờ trở lại -0.0
cho 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.0
và đượ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.0
x
Lưu ý: Đây không phải là một câu hỏi tại sao 0.0
so với -0.0
xả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.0
hoặ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ì?