Lisp 在给定以下语法的情况下,如何在Scheme中实现bignum?

Lisp 在给定以下语法的情况下,如何在Scheme中实现bignum?,lisp,scheme,racket,bignum,Lisp,Scheme,Racket,Bignum,我认为Scheme有一个内置类型Bignum,用于处理任意大的数字,但如果我想自己实现它,我将如何实现它 如果我没有弄错的话,它有以下语法: |n=0时的n |=() |其中n=qN+r,0你很幸运。这是一个经典问题。Andre van Meulebrock写了一系列关于bignums(表示和相关算法)的优秀文章。本文包含可运行的Scheme代码,因此请尝试使用他的代码 浏览MacTech的档案: 你的语法不正确,尽管它指向正确的方向。正确回答你的问题需要一本书,而不是一段或三段关于堆栈溢出的内

我认为Scheme有一个内置类型Bignum,用于处理任意大的数字,但如果我想自己实现它,我将如何实现它

如果我没有弄错的话,它有以下语法: |n=0时的n |=()
|其中n=qN+r,0你很幸运。这是一个经典问题。Andre van Meulebrock写了一系列关于bignums(表示和相关算法)的优秀文章。本文包含可运行的Scheme代码,因此请尝试使用他的代码

浏览MacTech的档案:


你的语法不正确,尽管它指向正确的方向。正确回答你的问题需要一本书,而不是一段或三段关于堆栈溢出的内容。大整数算法的规范描述在Knuth的AoCPv2中。或者,如果你愿意的话,我去年夏天在我的博客上做了一个由七部分组成的系列(代码在Scheme中);请参阅我的个人资料以获取url。
N = base
r = remainder
q = quotient