Bagaimana cara mengonversi angka negatif ke nilai absolut di Objective-C?
yaitu
-10
menjadi
10?
objective-c
redconservatory
sumber
sumber
Jawaban:
Tergantung pada jenis variabel Anda, salah
abs(int)
,labs(long)
,llabs(long long)
,imaxabs(intmax_t)
,fabsf(float)
,fabs(double)
, ataufabsl(long double)
.Fungsi-fungsi itu semua adalah bagian dari pustaka standar C, dan juga hadir baik di Objective-C dan plain C (dan umumnya juga tersedia di program C ++.)
(Sayangnya, tidak ada
habs(short)
fungsi. Atauscabs(signed char)
dalam hal ini ...)Header Objective-C Apple dan GNU juga menyertakan
ABS()
makro yang bertipe agnostik. Namun saya tidak menyarankan penggunaanABS()
karena tidak dijamin aman efek samping. Misalnya,ABS(a++)
akan memiliki hasil yang tidak ditentukan.Jika Anda menggunakan C ++ atau Objective-C ++, Anda bisa memasukkan
<cmath>
header dan gunakanstd::abs()
, yang templated untuk semua tipe integer standar dan floating-point.sumber
ABS()
tidak efek samping yang aman pada semua kompiler, karena itu saya tidak menyarankan untuk menggunakannya.extern float fabsf(float); extern double fabs(double);
Anda dapat menggunakan fungsi ini untuk mendapatkan nilai absolut:
sumber