Joh*_*Doe 1 python interpreter brainfuck
我正在用Python编写Brainfuck解释器,我正在测试这段代码:
,>++++++[<-------->-],[<+>-]<.
Run Code Online (Sandbox Code Playgroud)
有了这个输入:
43
Run Code Online (Sandbox Code Playgroud)
波兰维基百科说结果应该是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 -.-
输入是4
和3
,作为字节.输入为ASCII字符,因此值为52和51.
第一个输入减少了8,6次,所以52 - 48 = 4.
第二个输入被添加到第一个输入,因此4加51 = 55.
55写入输出,即ASCII 7
.
该程序总结了两个ASCII数字.
JavaScript解释器完全正确.您正在查看第一个寄存器,该寄存器保存字节值55
,但输出框显示7
ASCII字符.
归档时间: |
|
查看次数: |
563 次 |
最近记录: |