実行速度:
CodeEditor:
Notes:
-
Brainfuckとはプログラミング言語である → Brainfuck - Wikipedia
-
Brainfuckで用いる命令の意味
> | ポインタ(メモリの番地)を右に1つ移動する |
< | ポインタ(メモリの番地)を左に1つ移動する |
+ | ポインタが指すメモリの値を+1する |
- | ポインタが指すメモリの値を-1する |
, | 入力から1バイト読み込んで指しているポインタに代入する |
. | ポインタが指す値を文字として出力する |
[ | ポインタが指す値が0なら対応する ] までジャンプする(ループ) |
] | ポインタが指す値が0でないなら対応する [ までジャンプする(ループ) |
# | (オリジナル)#まできたら一時停止する(RESUMEボタンで再開) |
- ASCIIコード表(10進数)
(スペース) | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? | @ |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 |
もっと詳しいASCIIコード表 → http://www3.nit.ac.jp/~tamura/ex2/ascii.html
-
(例1) 「HELLO WORLD!」を出力する一例
+++++++++++[>++++++>++++++>+++>++++++++<<<<-]>+++>++++++.<.>++++..+++.>-.>-.<<.>>-----.<<---.<-.>>+.
-
(例2) 「A(=65)」を出力する
++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ +++++.
(改行やスペースなどBrainfuckの命令に関係ない文字列は無視されます)
-
(例3) 基本的なループの使い方「13 * 7」
+++++++++++++ [>+++++++<-]
(13が0になるまで横のポインタに7を足し続けるループ)
-
(例4) 「A」を出力する、を短く書く
++++++++ [>++++++++<-] >+.
-
(例5) ひたすら入力を出力する
,[.[-],]
-
(例6) AとBを掛け算する
A(+++++) > B(+++++++) = <[->>+<<]>[->[->+<<<+>>]>[-<+>]<<]<
-
(注意1) 無限ループを抑制する仕様はありません。よって実行するプログラムによってはブラウザをクラッシュさせることがあります。
-
(注意2) 他者が公開しているコードには、実行結果に悪意が含まれている場合があります。注意して自己責任で実行してください。