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の実行 (デバッグ機能付き)

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

+[,>+]