如何检查 brainf*ck 中的两个细胞是否相等?
How can I check if two cells are equal in brainf*ck?
如何检查单元格 #0 中的值是否等于单元格 #1 中的值?我正在尝试编写等同于:
的代码
if(a == b)
{
//do stuff
}
else
{
//do something else
}
我已阅读 Brainfuck compare 2 numbers as greater than or less than,第二个答案让我大致了解了我需要做什么,但我无法弄清楚。 (该解决方案给出 if a < b, else
。)
我想我需要按照递减两个值的方式做一些事情,如果它们同时达到 0,那么它们为真。但是每次想到它我总是卡在同一个出口点。
如何在 brainfuck 中检查两个单元格是否相等?
我想我知道了,我不是 brainfuck 专家,但这个问题看起来很有趣。可能有一个更简单的方法来做到这一点,但我采用了你的一个一个地递减值的方法。
在这种情况下,如果单元格0和1中的两个值相等则向前跳一吨,如果它们不相等则向前跳一点(第二个括号是不相等的情况,第三个括号是相等的情况)
请注意,我将 brainfucks while 语句用作贫民窟 if (cell != 0)
+++++++++++++++++
>
+++++++++++++++++
>+<
[ - < - >] <[>>>>>] >> [>>>>>>>>>>>>>>>>>>>>>]
+>>(a+++++)>(b+++++)>>+<<<
[[->]<<]
<
[>>>>>-<<<<<
a>b
]
>>
[->>-<
a<b
]
>>
[-
a=b
]
指针以相同状态的相同指针结束,但相应括号内的代码已被执行。
我为我的 bf 编译器想到了这个
基本上它减去然后检查结果是否为 0.
可以很容易地更改为以 if/else-ish 方式
执行内容
布局:
[A] B
>[-<->]+<[>-<[-]]>
输出
0 [result]
如果相等则结果为 1
如何检查单元格 #0 中的值是否等于单元格 #1 中的值?我正在尝试编写等同于:
的代码if(a == b)
{
//do stuff
}
else
{
//do something else
}
我已阅读 Brainfuck compare 2 numbers as greater than or less than,第二个答案让我大致了解了我需要做什么,但我无法弄清楚。 (该解决方案给出 if a < b, else
。)
我想我需要按照递减两个值的方式做一些事情,如果它们同时达到 0,那么它们为真。但是每次想到它我总是卡在同一个出口点。
如何在 brainfuck 中检查两个单元格是否相等?
我想我知道了,我不是 brainfuck 专家,但这个问题看起来很有趣。可能有一个更简单的方法来做到这一点,但我采用了你的一个一个地递减值的方法。
在这种情况下,如果单元格0和1中的两个值相等则向前跳一吨,如果它们不相等则向前跳一点(第二个括号是不相等的情况,第三个括号是相等的情况)
请注意,我将 brainfucks while 语句用作贫民窟 if (cell != 0)
+++++++++++++++++
>
+++++++++++++++++
>+<
[ - < - >] <[>>>>>] >> [>>>>>>>>>>>>>>>>>>>>>]
+>>(a+++++)>(b+++++)>>+<<<
[[->]<<]
<
[>>>>>-<<<<<
a>b
]
>>
[->>-<
a<b
]
>>
[-
a=b
]
指针以相同状态的相同指针结束,但相应括号内的代码已被执行。
我为我的 bf 编译器想到了这个
基本上它减去然后检查结果是否为 0.
可以很容易地更改为以 if/else-ish 方式
布局:
[A] B
>[-<->]+<[>-<[-]]>
输出
0 [result]
如果相等则结果为 1