java輸入一個(gè)數(shù)輸出絕對(duì)值 c 中如何求一個(gè)數(shù)的絕對(duì)值?
c 中如何求一個(gè)數(shù)的絕對(duì)值?自己寫一個(gè)宏,很簡單。所謂絕對(duì)值,就是小于零時(shí)的負(fù)值。很簡單:定義ABS(x)((x)> 0?(x) :-)您的問題是ABS函數(shù)的參數(shù)是整數(shù),而您輸入的參數(shù)是浮點(diǎn)型的
c 中如何求一個(gè)數(shù)的絕對(duì)值?
自己寫一個(gè)宏,很簡單。所謂絕對(duì)值,就是小于零時(shí)的負(fù)值。很簡單:定義ABS(x)((x)> 0?(x) :-)您的問題是ABS函數(shù)的參數(shù)是整數(shù),而您輸入的參數(shù)是浮點(diǎn)型的,所以絕對(duì)值轉(zhuǎn)換后,它們將被強(qiáng)制舍入。有人給你提供了一個(gè)有同樣問題的函數(shù)。所以我建議您使用我上面寫的宏來支持任何類型。實(shí)際上,比宏更好的方法是使用模板函數(shù),這可能比宏更難理解,所以這里不介紹。事實(shí)上,第一層方法可以通過使用fabs來解決。但是,對(duì)于這樣一個(gè)簡單的操作,似乎不值得使用庫函數(shù)。另外,順便說一句,這與這個(gè)問題無關(guān)。比較浮點(diǎn)數(shù)據(jù)的==是沒有意義的。我在這里不談這個(gè)。你可以自己查相關(guān)資料。類似地,對(duì)浮點(diǎn)數(shù)據(jù)執(zhí)行>=操作也沒有意義。