Let's enjoy brainfuck. ~入力・出力編~

はじめに、

brainfuckの基本をまだ知らない方はこちら も読むことをおすすめします。

今回は、brainfuckの入力 , と出力 . について詳しく解説しようと思います。

入力

, は入力から1バイト読み込んで、ポインタが指しているメモリーに代入します。

このとき、元々あった値は上書きされてしまいます。

1バイト読み込むというのも注意が必要です。

半角英数字などは1バイトなので問題ありませんが、 などの文字は2バイト以上使うことがあります。

例えば E3 81 82 で、3バイトです。

このバイト列はURLのエンコードにも使われています。

URLをコピペすると、 %E3%81%82 (あ) のようになってしまうことがありますが、これは % とバイト列でできています。

出力

. も同様に、ポインタが指しているメモリーの1バイトを出力します。

このとき、メモリーの値は変更されません。

1バイトずつの出力なので、 と出力したいときは、 E3 81 82 を順番に3回に分けて出力する必要があります。

最後に、

Brainfuckを実行・デバッグできるものを作成したので紹介します。

Brainfuckの実行 (デバッグ機能付き)

↓このコードで入力されたバイト列を確認できます。

,+[->,+]
このコードを実行