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