이 언어를 처음 사용합니다.Brainfuck 언어의 메모리 색인
명령 <
은 메모리 인덱스의 포인터를 감소시키는 데 사용됩니다.
아래의 코드는 두 자리 숫자를 더하는 코드입니다.
이 프로그램에 따르면, 처음에는 메모리 인덱스가 위치 0에 있으므로 입력을 가져 와서 메모리 [0]에 저장합니다. 그러면 메모리 인덱스가 감소하여 -1이되므로 런타임이 표시되어야합니다. IDEone에서 성공적으로 실행되는 이유는 무엇입니까?
메모리 블록이 순환 상태입니까?
, ;read character and store it in p1
------------------------------------------------ ;return ascii to Dec
< ;move pointer to p2 (second byte)
, ;read character and store it in p2
------------------------------------------------ ;return ascii to Dec
[ ; enter loop
- ; decrement p2
> ; move to p1
+ ; increment p1
< ; move to p2
] ; we exit the loop when the last cell is empty
> ;go back to p1
++++++++++++++++++++++++++++++++++++++++++++++++ ;return Dec to ascii
. ;print p1
"메모리 블록이 순환 상태입니까?"라는 질문에 대해 정말로 분명하지 않습니다. –
나쁜 영어로 죄송합니다. 메모리 인덱스 = 0이고 인덱스를 수행하는 것처럼 작동합니까? 그렇다면 메모리 크기가 3000이면 인덱스 값은 3000이됩니까? – user2124441