0

我必须编写计算大数(例如 200)的阶乘的程序。这对我来说非常重要。这是我的代码:

  .text
    main:
    li $v0, 4
    la $a0, prompt
    syscall

    li $v0, 5
    syscall
    move $s0, $v0
    move $t1, $v0
    li $t0, 1
    loop:
    mul $t0, $t0, $s0

    addi $s0, $s0, -1
    bgtz $s0, loop

    li $v0, 1
    move $a0, $t0
    syscall

    li $v0, 10
    syscall

    .data
    prompt: .asciiz "\nGive a number: "

该程序仅适用于小于 31 的数字。我不知道如何解决。有人可以帮助我吗?

PS对不起我的语言不好。

4

1 回答 1

1

这个作业的重点是让学生在 MIPS 中实现任意精度的整数加法和乘法,然后用它来实现阶乘算法。是伪代码中任意精度阶乘的示例。

于 2013-06-10T20:20:47.967 回答