gpt4 book ai didi

if-statement - 如何在 Brainfuck 中编写 if else 语句

转载 作者:行者123 更新时间:2023-12-04 04:19:31 26 4
gpt4 key购买 nike

我刚刚发现了一种编程语言,叫做 Brainfuck。

我的问题是如何在 Brainfuck 中编写 if-else 语句?

是通过比较两个单元格来完成的吗?如果是,那么我如何比较这个程序中的两个单元格?

谢谢

最佳答案

您需要一个 [x,1] 结构,其中 x 可以是 0 或其他值。解释它的最短方法是创建一个循环,您知道指针不会结束它开始的循环。
假设这些单元格被命名为 cell1 和 cell2
你做的操作是改变cell1的值,cell2的值不会改变。
操作值后,让您的指针指向 cell1,然后您做您的选择。

[-]> cell1 = 0
[-]+ cell2 = 1
|manipulations that change cell1 value
|goto to cell1
[ // if cell1 != 0
[-]>[-] // both cell1 and cell2 now equal 0
if you want the loop to end and want to prevent the
next loop from starting
|do something
|goto cell1 // Make sure you point again to cell1 to exit the loop
]>[ // else
|do something else
|goto cell1 // Make sure you point again to cell1 to exit the loop
]
在这个例子中,我使用 //标记评论,我使用 |来标记操作。
失去对指针的跟踪是您最大的敌人,因此分离您的代码并添加一些注释可能会有所帮助。

现在!最终回答你的问题:不,你不比较两个单元格,你执行结果为 0 或其他结果的操作,然后检查该单元格是否 == 0。
您所做的操作可以比较两个单元格,但您必须自己制作序列才能这样做

这是 Brainfuck 的维基百科页面,您可以在其中看到许多关于 Brainfuck 的简单和复杂的算法,欢迎来到社区 :)
https://esolangs.org/wiki/Brainfuck_algorithms#if_.28x.29_.7B_code1_.7D_else_.7B_code2_.7D

关于if-statement - 如何在 Brainfuck 中编写 if else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46056821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com