有人可以发布一个代码片段来在编程语言brainf * ck中乘以两个一位数字的数字吗?Brainfuck中的两个一位数字相乘的代码
回答
,>,< input numbers at cell #1 #2
[
> go to cell #2
[
->+>+<< move data to cell #3 #4
]
>> go to cell #4
[
-<<+>> move data to cell #2
]
<<< go to cell #1
- decrement cell #1
]
>>. output cell #3
程序读取到小区#1,#2和结果将是出现在小区#3
我使用BF解释其中I可以输入数字作为编号(未ASCII符号)
,>,<[>[>+>+<<-]>>[<<+>>-]<<<-]>>.
这将乘以ASCII值,而不是实际值。用这个代码,'1'*'1'= 49 * 49 = 2401,假设有8位单元格,则会导致2401%256 = 97. 97显然不等于1 * 1。您应该减去48 ascii代码为'0')从字符中获取实际值。像这样: ,> ++++++ [<--------> - ],> ++++++ [<--------> - ] <<[> [> +> + <<-]>> [<<+>> - ] <<<-]>>。 – 2012-12-10 09:55:36
好,我被第一个鼓舞,它更简单:
,>,<>[->+>+<<]>>[->>+<<]<[->>>+<<<]>>>++++++++++++++++++++++++++++++++++++++++++++++++
的48+到底是为bfde v以ascii显示。
那么,我可能没有最有效的方法,但它的工作原理。我做的事情在一个特定的方式,使得其将与所有的工作这些
2 * 3 = 6
6 * 7 = 42
4 * 5 = 20
所以,在这里,它是:
read
>, >, <<
convert from ascii
+++++ +
[
>----- ---
>----- ---
<<-
]
multiply
>[
>[>+>+<<-]
>[<+>-]
<<-
]
separate numbers
>[-]>+> >+++++ +++++<
[
- >- [>>>]+++++ +++++<<+
[<<<]>>>>
]
<-
<+++++ +++++>>>[-<<<->>>]<<<
convert to ascii
<+++++ +
[
>+++++ +++>
[+++++ +++>]
<[<]>-
]
print
>>[.<<]<[<<]>>.
我用这个解释:http://esoteric.sange.fi/brainfuck/impl/interp/i.html
有点儿难以理解,但它的工作原理
[>>> + < < < - ] >>> [> +> + < < - ] >> [< < + >> - ] < < < < < < [> +> +> + < < < - ] >>> [< < < + >>> - ] >> [ - < < < [ - < < + >>] < [> +> + < < - ] >> [< < + >> - ] < < >>>>] < [ - ] < < [ - ] < [ - ] <
- 1. 访谈:将两个数字相乘的Unix代码
- 2. 在brainfuck中打印一个数字?
- 3. 相乘两个32位的数字,而不使用64位的int
- 4. 在javascript中将两个数组中的所有数字相乘
- 5. 乘以两个32位数字......这个代码有什么问题
- 6. 如何计算两个int64数字相乘的结果另一个int64数字?
- 7. 将arraylist中的每个数字相乘
- 8. 在IOS中相乘两个非常大的数字
- 9. 两个链接列表中的数字相乘
- 10. 如何将datagridview中的两个数字相乘
- 11. 两个64位数的乘法运算
- 12. 将特定位置的字符串中的数字相乘
- 13. 如何计算两个数字的总和与BrainFuck
- 14. 在两个代码中构建两个代码到jquery中的一个代码
- 15. 两个数字的Mips乘法函数
- 16. Lightswitch:如何将两个字段相乘?
- 17. 将两个字段值相乘
- 18. 如何阅读brainfuck中的多位数字
- 19. Verilog代码移位和添加乘数
- 20. 乘以最后两位数字
- 21. 生成两位数字不同的唯一代码
- 22. 从相同的代码给出两个不同的GPS位置
- 23. 连接两个数字位不工作的代码
- 24. 在C/C++中相乘两个大数字
- 25. 如何在Java中乘以两个大数字(比如512位)
- 26. 乘以两个大于255的数字
- 27. 两个32位有符号整数使用SSE2相乘
- 28. 如何获取此代码以将数组中的数字相乘?
- 29. 相乘两个矩阵
- 30. 将两个值相乘
@戈登:具有讽刺意味的是,如果答案可以在维基百科上找到,那么这个问题似乎很难被视为“过于本土化”。 – 2011-03-02 10:04:44
@Cody虽然SO绝对是“请问在编程语言y中如何做x”的正确场所我不认为像BF这样的深奥语言符合“适用于网络的全球受众” – Gordon 2011-03-02 10:14:04