absについて、調べてみた件

absは 、 多 く の プ ロ グ ラ ミ ン グ 言 語 に お い て 引 数 の 絶 対 値  (absolute value) を 返 す 関 数 で あ る 。 言 語 に よ っ て abs, Abs, ABSな ど と 大 文 字 小 文 字 に 揺 れ が あ っ た り 、 多 少 の 修 飾 辞 を 伴 っ て い た り す る 場 合 も あ る 。 例 え ば Fortranの 場 合 、 引 数 の 型 に よ っ て ABS, IABSな ど 、 異 な る 名 前 の 関 数 が 用 意 さ れ て い る 。 

C/C++

C/C++で は ヘ ッ ダ ー フ ァ イ ル <stdlib.h>お よ び <cstdlib>の 中 で 、 次 の よ う に 関 数 absが 宣 言 さ れ て い る 。 た だ し 、 後 述 す る よ う に こ れ 以 外 に も い く つ か 種 類 が 存 在 す る 。 

そ し て 、 例 え ば 次 の よ う に 使 用 で き る 。 

出 力 結 果 :

な お 、 符 号 付 整 数 型 に 2の 補 数 を 用 い る 処 理 系 で abs(INT_MIN)を 実 行 す る 場 合 な ど 、 結 果 が 表 現 で き な い 場 合 の 動 作 は C言 語 の 仕 様 上 は 未 定 義 で あ る が 、 GCCな ど の 典 型 的 な 実 装 で は ( 絶 対 値 で は な い ) 元 の 値 を そ の ま ま 返 す 。 

absの 種 類 

C/C++の 場 合 、 Fortran同 様 に 引 数 の 型 に よ っ て 異 な る 名 前 の 関 数 が 用 意 さ れ て い る 。 た だ し C++で は absが そ れ ぞ れ の 型 に 対 し て 多 重 定 義 さ れ て い る の で 、 異 な る 型 に 対 し て 一 律 absを 使 用 す る こ と も で き る 。 

実 装 例 

C言 語 に お け る abs関 数 の 典 型 的 な 実 装 例 は 以 下 で あ る 。 

も し く は 、 マ ク ロ を 用 い れ ば C言 語 で も 型 を 気 に せ ず に 用 い る こ と が 可 能 と な る 。 し か し 副 作 用 に 注 意 す る 必 要 性 が 生 じ る 。 

C99で は ジ ェ ネ リ ッ ク 版 の fabs関 数 が <tgmath.h>に 宣 言 さ れ て い る 。 

Java

java.lang.Math.abs() に て 実 装 さ れ て い る 。 int, long, float, double 用 に 多 重 定 義 さ れ て い る 。 int, long の 負 数 の 最 小 値 を 引 数 に 与 え る と 同 じ 値 を そ の ま ま 返 す と 規 定 さ れ て い る 。 

.NET

C#を 始 め と す る .NET Frameworkに 対 応 し た 言 語 で は 、 System.Math.Abs() に て 実 装 さ れ て い る 。 System.SByte, System.Int16, System.Int32, System.Int64, System.Decimal, System.Single, System.Double 用 に 多 重 定 義 さ れ て い る 。 SByte.MinValue, Int16.MinValue, Int32.MinValue, Int64.MinValue を そ れ ぞ れ の メ ソ ッ ド オ ー バ ー ロ ー ド に 渡 す と  System.OverflowException 例 外 が ス ロ ー さ れ る 。 

※ 参照元:https://ja.wikipedia.org


/tract/workout/olutely/ence/olute/ent/urd/orption/orb/workoutathome/pipe/dietfor/muscle/8minworkout/warninglight/とは/bikesinindia/材質/意味/workoutyoutube/density/車/塗装/inbikes/workoutvideo/workoutprogram/関数/pic/pilates/秋田/beforeandafter/ラジオ/板/rules/接着剤/bedtemperature/樹脂塗装/樹脂接着/素材/アナウンサー/ボウリング/ランプ/beforeoraftercardio/バイク/警告灯/ruby/比重/スーパー/pellets/dietworkout/duringpregnancy/接着/ニュース/dietrecipes/密度/zumba/guide/ブレーキ/dumbbell/lazarangelovworkout/ボール/センサー/エクセル/プラスチック/点灯/pbt/仕組み/guidelines/修理/pipedimensions/金融/マート/船級/ボウリングボール/dubai/耐熱温度/rubber/故障/義務化/バレエ/nutrition/樹脂加工/エア抜き/解除/作動/原理/警告灯リセット/足立区/パイプ/マーク/muscleworkout/フィラメント/アクチュエーター/beforebed/musclename/絶対値/ユニット/塗装プライマー/雪道/透明/単位/プライマー/融点/板材/パテ/システム/腹筋/構造/番組表/卸売/ラジオ番組表/アセトン/警告灯車検/digital/ヤング率/試写会/新潟/スタジオ/キャンセル/diy/装置/作動音/サーフェイサー/テレビ/青山/誤作動/picturesmale/加工/zortrax/directory/略/本八幡/丸棒/強度/ドリフト/化学/ルアー/ducati/後付け/ライク/温度/制動距離/収縮率/卸売センター三郷/biotech/車検/モジュレーター/補修/mumbai/英語/チェックランプ/草加/ボウリングバッグ/ガンダムマーカー/ランプ車検/証券/なし/瞬間接着剤/トップコート/三郷/債券/の意味/圧力/付きバイク/撤去/pipespecifications/pet/機能/perpetual/沖縄/pipewiki/自動車/beautyshow/用途/音/メーカー/pinoytv/水元/rugby/線膨張係数/棒/本店/牛/ロック/ブレーキ痕/のボール/dictionary/herbs/異音/パイプ規格/放送/激安/熱伝導率/ガラス転移温度/塗装方法/問題/洗剤/guideforcertificationofliftingappliances/樹脂温度/