重複の可能性:
BrainFuck で 2 つの数値の合計を計算する方法
2 つの 1 桁の数字を加算する単純な BF プログラムの書き方を知っている人はいますか? 私はこの言語に慣れていないので、概念を理解するために助けが必要です。
重複の可能性:
BrainFuck で 2 つの数値の合計を計算する方法
2 つの 1 桁の数字を加算する単純な BF プログラムの書き方を知っている人はいますか? 私はこの言語に慣れていないので、概念を理解するために助けが必要です。
それぞれ 0 から 9 の値を持つ 2 つのセルがある場合は、一方を他方に追加するだけです。A と B の 2 つのセルがあるとします。A は位置 0 にあり、B は位置 1 にあります。このように B を A に追加できます (ポインターが A から始まると仮定します)。A を 4 に、B を 8 に設定し、B を A に追加します。
setting A and B
++++>++++++++
remember the pointer is at B now so we can add B to A like this
[<+>-]
and now the pointer is still at B but B contains 0 and A contains 12
ユーザーに 1 桁の数字を入力させたい場合は、, 文字を使用すると、その文字の ASCII コードが現在のセルに入力されることに注意してください。したがって、最初に数値から 48 を引く必要があります (48 は文字「0」の ASCII コードです)。A と B にキーボードからの 2 文字を入力する例を次に示します (ユーザーは数字キーのみを押し、文字や記号は押さないと仮定します)
Pointer starts at A so we have the user press a number key
,
we then subtract 48 from it so that it contains the actual value
------------------------------------------------
we move to B and do the same
>,------------------------------------------------
from here on it's the same as the last example
[<+>-]