Erlang'ın keyfi büyüklük tam sayıları olduğunu biliyorum, ancak standart uygulamalardan birinde maksimum bir sınır var mı? Öyleyse ne olmuş?Erlang tam sayıları için bir boyut sınırı var mı?
5
A
cevap
7
Erlang, bignum arithmetic'u kullanır ve Erlang'daki Integers, makinedeki kullanılabilir bellek ile sınırlıdır. Neredeyse, bir Tamsayı'nın Erlang'da ne kadar büyük olabileceği konusunda bir sınırlama yoktur. Bu belgeye bir göz atın: http://erlang.org/doc/efficiency_guide/advanced.html Sınırlarla ilgili daha ayrıntılı açıklamaları vardır.
0
32 bit mimarilerde: -134217729 < i < 134217728
(28 bit).
64 bit mimarilerde: -576460752303423489 < i < 576460752303423488
(60 bit).
+1
Bunlar küçük tam sayıların sınırlarıdır. Keyfi büyüklüğün büyük tam sayılarını soruyordum. –
Bir 32bit sistemde 536,870,911 bayt (537MB) ve 64 bit sistemde 2,305,843,009,213,693,951 bayt (2.3EB) olan VM belleği sınırdır. Verileri 32 veya 64 bitlik bir alanın ilk 28 veya 60 bitinde depolayabildiğimizden, 64 bitlik bir makinede 2.3EB RAM değeri verilen yaklaşık 2^2^63,9 veya 10^10^18,7'ye kadar tamsayıları kaydedebilmemiz gerekir. ya da 10^10^9, bir 32bit makinede yarım gigabayt bir ram verildi. –