小编kyl*_*ylc的帖子

Haskell的不寻常问题

我正在从终端运行ghci.

在我的源文件中,我定义了

factorial :: Int -> Int
factorial n = product [1 .. n]
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到了结果

factorial 13 = 1932053504

product [1 .. 13] = 6227020800
Run Code Online (Sandbox Code Playgroud)

对于任何小于13的数字,结果是正确的.但是,对于大于或等于12的任何数字,两个结果不一致.

另外如果我定义这个函数递归:

factorial' :: Int -> Int
factorial' 0 = 1
factorial' (n + 1) = (n + 1) * factorial' n
Run Code Online (Sandbox Code Playgroud)

我还是得到的

factorial' 13 = 1932053504
Run Code Online (Sandbox Code Playgroud)

如果您了解这里发生的事情,那将非常有帮助.谢谢

haskell

4
推荐指数
2
解决办法
286
查看次数

NASM打印输出时间 - 代码不输出任何内容

我刚刚开始使用ASM(NASM),需要一些关于以下代码段的帮助.我没有错误/警告,它只是没有输出任何东西.我期待的是它获得时间(13),然后打印出(4),然后退出(1).另外,有没有人知道一些好的(最好是NASM特定的)ASM教程?

section .bss
  time:   resb   255

section .text
  global _start

_start:
  mov   eax, 13
  int   0x80
  mov   eax, time

  mov   edx, 255
  mov   ecx, time
  mov   ebx, 1
  mov   eax, 4
  int   0x80

  mov   eax, 1
  int   0x80
Run Code Online (Sandbox Code Playgroud)

assembly nasm

1
推荐指数
1
解决办法
2733
查看次数

标签 统计

assembly ×1

haskell ×1

nasm ×1