擅长:python、mysql、java
<p>回答您的问题:</p>
<p>a)他们使用不同的数字表示法。R中的大多数数字表示为双精度浮点值。这些都是64位长,在整个范围内提供大约15位精度,从-双.xmax到双.xmax,然后切换到有符号无限值。R有时也使用32位整数值。这些数据覆盖了大约+/-20亿的范围。R选择这些类型是因为它面向统计和数值方法,而这些方法很少需要比双精度给出的精度更高的精度。(他们通常需要更大的范围,但通常使用日志可以解决这个问题。)</p>
<p>Python更像是一个通用平台,MichaelChirico的评论中讨论了它的类型。在</p>
<p>b)除了<code>Brobdingnag</code>,<code>gmp</code>包还可以处理任意大的整数。例如</p>
<pre><code>> as.bigz(2)^1500
Big Integer ('bigz') :
[1] 35074662110434038747627587960280857993524015880330828824075798024790963850563322203657080886584969261653150406795437517399294548941469959754171038918004700847889956485329097264486802711583462946536682184340138629451355458264946342525383619389314960644665052551751442335509249173361130355796109709885580674313954210217657847432626760733004753275317192133674703563372783297041993227052663333668509952000175053355529058880434182538386715523683713208549376
> nchar(as.character(as.bigz(2)^1500))
[1] 452
</code></pre>
<p>我想<code>as.character()</code>调用也需要<code>Brobdingnag</code>。在</p>