ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


Brainfuck


ヨミ: ブレインファック
掲示板をミル!
63カキコ!

Brainfuckとは、難解であるとされるプログラミング言語の一つである。
名称が良いものではないため、通常はBrainf*ckと書く。


概要


BrainfuckはUrban Müllerが開発したプログラミング言語で、コンパイラが極限に小さくなるように考案された言で、実用的な言ではない。実際のコンパイラは1KBもない。

実行可な命は8つしか存在しないが、このプログラミング言語は立チューリング完全であり、理論的にはC言語で記述可な命と同様の表現を持つことが分かっている。


実行可能な命令


Brainfuckには8つの命が存在する。これらを組み合わせることで普通プログラムと同様の事が実行することができる。 


プログラム例


プログラムの基本はやっぱりHello worldを出するプログラム


+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+
++.>-.------------.<++++++++.--------.+++.------.--------.>+.

 


プログラム説明


最初のポインタの位置で値を9回インクリメントする。最初のループで最初のポインタに入っている値をループカウンタとし、2番ポインタの値を8×9=72、3番ポインタの値を11×9=99、4番ポインタの値を5×9=45にする。

2番ポインタに入っている値は72で、これを文字コードで出すると"H"になる。
ポインタインクリメントし、3番ポインタの値を2回インクリメントして101にして出すると、"e"になる。
それをさらに7回インクリメントすると"l"になり、2回出する。さらに3回インクリメントして"o"にする。
ポインタインクリメントし、4番ポインタの値を1回デクリメントして44にして出すると","になる。
それをさらに12回デクリメントすると" (半角スペース)"になる。

以降、ポインタの移動とインクリメント・デクリメントを繰り返して出すると、最終的には「Hello, world!」と出(表示)される。
文字コード表に関しては文字コードググれば見つかるかもしれない。

 


関連動画



■sm10384056[ニコ動]

 


関連項目



最終更新日: 14/07/15 03:19
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ