如何使用BrainF**k实现乘法计算?
# 起因
最近了解了一下BrainFuck语言,发现还挺好玩,于是想实现一下乘法功能
# 思路
- 既然要实现乘法,那么我们要了解一下乘法的本质

百度百科
乘法(multiplication),是指将相同的数加起来的快捷方式。其运算结果称为积,“x”是乘号。从哲学角度解析,乘法是加法的量变导致的质变结果。来源:https://baike.baidu.com/item/%E4%B9%98%E6%B3%95/11036001?fr=aladdin
那么我们就顺着乘法的本质,去实现乘法。
# 代码
带有解释版的代码:
1 | index:0 |
纯指令版(装逼用)
1 | ++++++>+++++++++<[->>>+<<<]>[->>[->+<<+>]>[-<+>]<<<] |
注:此代码的开头 ++++++>+++++++++ 是存储需要乘和被乘的数字,可以根据需要自行更改,也可以替换成 , 来输入数字
不过我用的那个在线解释器不支持输入数字,所以只能写死了。
# 结果
就是这么简单,实现了乘法
# 推荐一个在线运行BrainF**k的可视化解释器
http://fatiherikli.github.io/brainfuck-visualizer/#
# 结尾
这个算法可能效率不高,但是实现了基本功能,有空再优化速度吧,最近挺忙的。