私は Python で Brainfuck インタープリターを作成しており、現在このコードをテストしています。
,>++++++[<-------->-],[<+>-]<.
この入力で:
43
ポーランドのウィキペディアでは、結果は 7 になるはずですが、何かが正しくありません。入力をどのように処理すればよいですか? 4 と 3 または '4' と '3' (52 と 51) として? 入力文字を整数として扱うと、結果は -41 になります。最初のループの後、[0] は -44 で [1] は 0 であり、[1] は 3 になり、その 3 を -44 に加算するため、結果は -41 になります。 .
一方、入力文字を ASCII コードとして扱う場合、最初のループの後で [0] が 4 で [1] が 0 の場合、[1] は 51 になり、その 51 を 4 に加算すると 55 になります。 (これはJavaScript インタープリターも結果 55 を返します: https://www.nayuki.io/page/brainfuck-interpreter-javascript )
ただし、Cで記述されたインタープリターをダウンロードしたところ、ウィキペディアが言ったのと同じ結果7が得られたので、混乱しています。そのインタープリターがあります: http://pastebin.com/aasxLppa、また、このインタープリターは結果7を与えます:brainfuck.tk -.-