在BF中,我知道您可以使用+
和-
运算符进行加法和减法,并且您可以将两个预定义的数字相乘,如下所示:
Multiply 4 and 4
++++[>++++<-]
Run Code Online (Sandbox Code Playgroud)
但是,如何将两个变量相乘,或者使用其他数学运算符,例如模数或除法?
这是一个通用的查找程序,用于将两个数字乘以bf.取自这里.
将值乘以另一个值这需要多个副本和嵌套循环.
Copy first operand to a work location
Move to work location and enter a loop
Move to second operand and copy to a work location
Move to second work location and enter a loop
Move to result location and increment
Move to second work location and decrement
Loop until second work location equals zero
Move to first work location and decrement
Loop until first work location equals zero
Run Code Online (Sandbox Code Playgroud)
例:
将三(a [p])乘以五(a [p + 1])并将结果置于[p + 2]中.
+++>+++++<
[>>>+>+<<<<-]>>>>[<<<<+>>>>-]<
[<<
[>>>+>+<<<<-]>>>>[<<<<+>>>>-]<
[<<+>>-]
<-]
Run Code Online (Sandbox Code Playgroud)
进一步阅读这里