Brainfuck попробуй - в 0 клетке - PullRequest
0 голосов
/ 20 апреля 2020

Что произойдет в Brainfuck, если я попытаюсь "-" в ячейке, содержащей 0?

>-

Кроме того, что произойдет, если я попытаюсь запустить al oop указывая на ячейку 0?

>[]

Редактировать: Я забыл упомянуть об этом, но я пытаюсь сделать переводчика. Вот фрагмент кода, который мне дали использовать в качестве примера:

;>;<[->++<][->++<]

Во втором l oop ячейка, на которую указывает ячейка, равна «0», поэтому моя программа запускается бесконечный l oop.

1 Ответ

0 голосов
/ 30 апреля 2020

Brainfuck - очень зависимый от реализации язык. Обычно ячейки Brainfuck содержат значения в диапазоне от 0 до 255, поэтому 8-битные целые значения без знака. Если вы попытаетесь уменьшить ячейку со значением, равным нулю, как это обычно происходит с компьютерами, вы будете выполнять «недостаточный поток», то есть значение будет go от 0 до 255. Аналогично, если вы попытаетесь увеличить ячейку со значением из 255 - вы получите 0.

Цикл в мозговом потоке может быть с этим фрагментом псевдокода: [SOME_CODE] похож на while (* ptr! = 0) {SOME_CODE}

Пока вы не указываете на ячейку со значением 0 в начале l oop, вы запускаете код в скобках и повторяете.

Я предлагаю вам взглянуть на https://fatiherikli.github.io/brainfuck-visualizer/

...