Warning: Undefined variable $type in /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php on line 3

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/1/sub.jp-asate/web/wiki/includes/json/FormatJson.php on line 297

Warning: Trying to access array offset on value of type bool in /home/users/1/sub.jp-asate/web/wiki/includes/Setup.php on line 660

Warning: session_name(): Session name cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/Setup.php on line 834

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 126

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 127

Warning: session_cache_limiter(): Session cache limiter cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 133

Warning: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 140

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/1/sub.jp-asate/web/wiki/languages/LanguageConverter.php on line 773

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/Feed.php on line 294

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/Feed.php on line 300

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46
http:///mymemo.xyz/wiki/api.php?action=feedcontributions&feedformat=atom&user=150.37.229.237 miniwiki - 利用者の投稿記録 [ja] 2024-06-21T18:29:35Z 利用者の投稿記録 MediaWiki 1.31.0 インクリメント 2018-04-07T07:09:24Z <p>150.37.229.237: 追記</p> <hr /> <div>&#039;&#039;&#039;インクリメント、増量&#039;&#039;&#039; (increment) は、一般には[[増加]]という意味だが、[[コンピュータ]]用語としては、[[変数 (プログラミング)|変数]]の値を1増やす[[演算]]のことである。逆に、1減らす演算は&#039;&#039;&#039;デクリメント&#039;&#039;&#039; (decrement) である。<br /> <br /> ==プロセッサでの扱い==<br /> [[ループ (プログラミング)|ループ]]や逐次[[アドレッシング]]で使用頻度が極めて高いため、[[マイクロプロセッサ|プロセッサ]]レベルで専用のインクリメント命令が用意されていることが多い。<br /> <br /> 通常、[[レジスタ (コンピュータ)|レジスタ]]に数値を加算するには、1[[ワード]]で[[加算]]命令とレジスタを表し、もう1[[ワード]]で加算する数値を表すので、計2ワードが必要だが、インクリメント命令を使えば1ワードで済む。ただし、プロセッサによっては、インクリメント命令は加算命令よりも[[被演算子|オペランド]]の種類が限られる(たとえば[[アキュムレータ (コンピュータ)|アキュムレータ]]のみに可能など)。<br /> <br /> [[アセンブラ]]の中には、1を加算する加算命令をインクリメント命令に最適化するものもある。<br /> <br /> ==高水準言語での扱い==<br /> [[C言語]]、[[C++]]、[[Java]]、[[JavaScript]]などでは、インクリメント[[演算子]](増量子)「&#039;&#039;&#039;++&#039;&#039;&#039;」が用意されている。前置インクリメントと後置インクリメントの2種類がある。字句は同じ「++」だが前置演算子として使うか(例: ++x)後置演算子として使うか(例: x++)で意味が違う。オペランドの値が整数の場合は1、ポインタの場合は指し示す対象1個ぶん変わるのはどちらも同じだが、式としての値が、前置の場合はインクリメントした後の値になる(この意味は += 1 と同じ)、後置の場合はインクリメントする前の値になる。<br /> &lt;syntaxhighlight lang=&quot;c&quot;&gt;<br /> y = ++x; // y = (x += 1); と同じ<br /> y = x++; // y = x; x = x + 1; と同じ<br /> &lt;/syntaxhighlight&gt;<br /> C++の[[演算子オーバーロード]]では、通常の記法では前置インクリメントと後置インクリメントを区別できないので、便宜上、後置インクリメントには余分なint型引数を記述して区別する。ただし、古いC++コンパイラはこの後置インクリメントの宣言に対応していないことがある。<br /> &lt;syntaxhighlight lang=&quot;cpp&quot;&gt;<br /> T&amp; class T::operator++{ *this += 1; return *this; } // 前置インクリメントのオーバーロード<br /> T class T::operator++(int){ T old = *this; *this += 1; return old; } // 後置インクリメントのオーバーロード<br /> &lt;/syntaxhighlight&gt;<br /> デクリメント演算子「--」も同様である。<br /> <br /> ==ネーミングでの使用==<br /> C++、[[Notepad++]]のように、改良版であることを示すためにインクリメント演算子「++」をつけることがある。<br /> <br /> {{DEFAULTSORT:いんくりめんと}}<br /> [[Category:算術]]<br /> [[Category:プログラミング言語の構文]]<br /> [[Category:数学に関する記事]]</div> 150.37.229.237
Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46