Evorlor Evorlor - 1 year ago 149
Brainfuck Question

How can I check if two cells are equal in brainf*ck?

How can I check if the value in cell #0 is equal to the value in cell #1? I am trying to write code equivalent to:

if(a == b)
//do stuff
//do something else

I have read Brainfuck compare 2 numbers as greater than or less than, and the second answer gave me a general idea of what I'd need to do, but I cannot figure it out. (That solution gives
if a < b, else

I am thinking I need to do something along the lines of decrementing both values, and if they reach 0 at the same time, then they are true. But I keep getting stuck at the same exit point every time I think about it.

How can I check if two cells are equal in brainfuck?

Answer Source

I think I have it, I'm not a brainfuck expert but this question looked interesting. There might be a simpler way to do it, but I went with your method of decrementing values one by one.

In this case, if the two values in cell 0 and 1 are equal jump a ton forward, if they are not equal jump a little forward (second brackets is the not equal case, third brackets is the equal case)

Note that I'm using brainfucks while statements as a ghetto if (cell != 0)

[ - < - >] <[>>>>>] >> [>>>>>>>>>>>>>>>>>>>>>]

Try it online: http://fatiherikli.github.io/brainfuck-visualizer/#KysrKysrKysrKysrKysrKysKPgorKysrKysrKysrKysrKysrKwo+KzwKWyAtIDwgLSA+XSA8Wz4+Pj4+XSA+PiBbPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+XQoKCg==

An example implementation, print T (true) if the two values are equal, F (false) if they are not equal

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download