Trong căn bậc ba thế giới thực cho một số âm nên tồn tại: cuberoot(-1)=-1
, có nghĩa là (-1)*(-1)*(-1)=-1
hoặc cuberoot(-27)=-3
, có nghĩa là (-3)*(-3)*(-3)=-27
C - tìm căn bậc ba của một số âm với chức năng pow
Nhưng khi tôi tính toán khối gốc của một số âm trong C sử dụng pow
chức năng, tôi nhận được nan
(không phải là số)
double cuber;
cuber=pow((-27.),(1./3.));
printf("cuber=%f\n",cuber);
đầu ra: cuber=nan
Có cách nào để tính toán căn bậc ba của một số âm trong C?
'pow' có thể được sử dụng để tính căn bậc của các số dương. –
@SteveJessop: 'pow' có thể được sử dụng để tính toán công suất' 0.333333333333333314829616256247390992939472198486328125' của một số dương, thường là (nhưng không phải lúc nào) giống như gốc khối sau khi làm tròn. –
Nó gần như là tiêu chuẩn C đảm bảo 'cbrt' được (mà là không có bảo đảm ở tất cả). Mặc dù vậy, IEEE 754 có thể có điều gì khác để nói, nếu nó đảm bảo tính chính xác của 'cbrt'. –