1. ホーム
  2. objective-c

[解決済み] Objective-Cで絶対値を変換する

2022-04-14 15:34:56

質問

Objective-Cで負の数を絶対値に変換するにはどうしたらいいですか?

ie.

-10

になる

10?

どのように解決するのですか?

変数の種類に応じて、いずれかの abs(int) , labs(long) , llabs(long long) , imaxabs(intmax_t) , fabsf(float) , fabs(double) または fabsl(long double) .

これらの関数はすべてCの標準ライブラリの一部であるため、Objective-CとプレーンCの両方に存在します(C++プログラムでも一般的に利用可能です)。

(残念なことに habs(short) 関数を使用します。または scabs(signed char) ということになるのですが...)


AppleとGNUのObjective-Cヘッダにも ABS() マクロは型にとらわれません。私は ABS() しかし、副作用の安全性が保証されているわけではありません。例えば ABS(a++) は未定義の結果をもたらします。


C++やObjective-C++を使用している場合、その中に持ってくることができます。 <cmath> ヘッダーを使用し std::abs() これは、すべての標準的な整数型と浮動小数点型のためにテンプレート化されています。