为什么julia对一些大数字返回非零?

为什么julia对一些大数字返回非零?,julia,bignum,Julia,Bignum,在Julia shell中,当我想计算一些大的数字时,其中一些返回零,而另一些返回非零 julia> 23^1023 -7505274568781129817 julia> 23^10233345345345345345345345 -524211381283076585 julia> 6^66 0 julia> 6^666567 0 julia> 6^666567467456456 0 为什么??我知道,当一个数大于它的可变容量的两倍时,它的值将为零。

在Julia shell中,当我想计算一些大的数字时,其中一些返回零,而另一些返回非零


julia> 23^1023
-7505274568781129817

julia> 23^10233345345345345345345345
-524211381283076585

julia> 6^66
0

julia> 6^666567
0

julia> 6^666567467456456
0

为什么??我知道,当一个数大于它的可变容量的两倍时,它的值将为零。但不是这样。

这是整数溢出,请参阅手册

您可以改为使用大整数(请参阅):


等等。

我肯定你没有回答我的问题:)我的问题是关于大人物行为之间的区别。我认为答案是正确的。可以添加的是,如果您使用
Int64
值,您将得到
0
当且仅当您想要得到的结果数字可以被
2^64
整除。对于
n>=64
,是不是
(2k)^n mod 2^64=2^64*2^(n-64)*k^n mod 2^64=0
?对于所有偶数,64次幂之后的归零似乎都会发生。(尽管我对数论不太在行。)@phipsgabler-这是正确的,但是如果
k
也可以被
2
整除,那么
n
可以更小。
julia> big"23"^1023
11157740226766098642576916479985732502550079026659668602369253176154754608347999114910934288598509169938542322634035543168104589454551803554752143514808871856407739044413061564710593969809293170387198434732839849079475397354914324959462224192710277582733000707189017630945088977603741349278943158891431873760538457405883290110683119304669609980551503814930814431431975534991573062542027069568527398640080137783572573628744292934799926441803784257928864905102312768281505257318699158791253710647692433095043904635807704217468279561767861663146318198088623674770926880080210309989765622294999800807236464408766346103653985201759420509533876924909908750714069885590356229608446855366913940019430671619981625609206032799826735265432172679241233520172523125869020169711024904402773853129665351797759891642127264888666794316949688983939775549154259963104480736117124292892646814620494489503114758819943362183681467998652454547183948074914858274708971403049788805953569337415595467715850757595901742734059151188466480831121544684493340167911965220743922762612303000346811165975512651283076102510848811008182559770140939825724297406037953883140920313402683491853674438512331534910835550559414659803452756567465225399126516307745943694271055034096963098307296535723190502271598318692446343365508448643996409450204836382025575710687700606126899558525256788416497673251704346550625698638155949249669830567