如何检查单元格#0中的值是否等于单元格#1中的值?我正在尝试编写相当于的代码
if(a == b)
{
//do stuff
}
else
{
//do something else
}
我读过Brainfuck比较两个大于或小于的数字,第二个答案让我大致了解了我需要做什么,但我搞不清楚。(该解决方案给出if a < b, else
。)
我想我需要按照递减两个值的方式来做一些事情,如果它们同时达到0,那么它们就是真的。但每当我想起来的时候,我总是被困在同一个出口点
我该如何检查两个细胞在大脑中是否相等?
我想我知道了,我不是一个头脑风暴专家,但这个问题看起来很有趣。可能有一种更简单的方法可以做到这一点,但我采用了您的方法,即逐个递减值。
在这种情况下,如果单元格0和1中的两个值相等,向前跳一吨,如果它们不相等,向前稍微跳一点(第二个括号是不相等的情况,第三个括号是相等的情况)
注意,如果(cell!=0),我将使用Brainfuckswhile语句作为贫民区
+++++++++++++++++
>
+++++++++++++++++
>+<
[ - < - >] <[>>>>>] >> [>>>>>>>>>>>>>>>>>>>>>]
在线试用:http://fatiherikli.github.io/brainfuck-visualizer/#KysrKysrKysrKysrKysrKysKPgorKysrKysrKysrKysrKysrKwo+KzwKWyAtDwgLSA+XSA8Wz4+Pj4+XSA+PiBbPj4+Pj4+Pj4+Pj4+Pj24+XQoKCg==
一个示例实现,如果两个值相等则打印T(true),如果不相等则打印F(false)
http://fatiherikli.github.io/brainfuck-visualizer/#KysrCj4KKysrKwo+KzwKWyAtDwgLSA+XSA8Wz4+PgorKysrKysrKySRKysrKySrKysrKworKysrKysr KysrKysKysrKyrKysrKy
+>>(a+++++)>(b+++++)>>+<<<
[[->]<<]
<
[>>>>>-<<<<<
a>b
]
>>
[->>-<
a<b
]
>>
[-
a=b
]
指针在相同状态下的同一指针上结束,但适当括号内的代码已被执行。
我为我的bf编译器想出了这个
基本上它会减法,然后检查结果是否为0。
可以很容易地更改为以if/else-ish方式执行东西
布局:[A] B
>[-<->]+<[>-<[-]]>
输出
0 [result]
如果相等,则结果为1