C99 phụ lục F (IEEE dấu chấm động hỗ trợ) nói điều này:Tại sao pow (-infinity, positive integer) + vô cùng?
pow(−∞, y)
lợi nhuận + ∞ cho y> 0 và không phải là một số nguyên lẻ.
Nhưng, nói, (−∞) 0.5 thực sự có giá trị ảo ± ∞i, không phải + ∞. Chính số sqrt(−∞)
của C99 trả về một NaN và tạo lỗi miền như mong đợi. Tại sao cần pow
để trả lại + ∞?
(Hầu hết các ngôn ngữ khác sử dụng thư viện C trực tiếp hoặc, như Python trong trường hợp này, sao chép các hành vi cần thiết của nó so với tiêu chuẩn, vì vậy trong thực tế điều này ảnh hưởng nhiều hơn chỉ là C99.)
Tôi không chắc chắn ý của bạn là gì "−∞ 0.5 thực sự là số ảo ∞i"; có số tưởng tượng đến từ đâu? –
@OliCharlesworth toán học tiêu chuẩn - lấy sqrt của một số âm cho một số ảo. – Alnitak
@Alnitak: Tôi không chắc chắn các khái niệm như "∞i" đặc biệt có ý nghĩa ... –