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を実行・デバッグできるものを作成したので紹介します。
↓このコードで入力されたバイト列を確認できます。
+[,>+]