ruby Fixnum class 的大小函数
Size function for ruby Fixnum class
为什么 ruby 数字返回输出的大小函数是这样的?
1000000.size # => 8
99999999999999999999.size # => 9
Ruby 在内部使用两种不同的结构来存储整数 - Fixnum
和 Bignum
。第一个用于较小的数字并直接映射到主机体系结构上的长整数。它速度更快且大小恒定,但受存储量的限制。后者用于存储任意大的数字,其大小取决于数字的大小。
1000000.class # => Fixnum
99999999999999999999.class # => Bignum
转换是在内部完成的。事实上 ruby 2.4.0,只有一个 class - Integer
.
为什么 ruby 数字返回输出的大小函数是这样的?
1000000.size # => 8
99999999999999999999.size # => 9
Ruby 在内部使用两种不同的结构来存储整数 - Fixnum
和 Bignum
。第一个用于较小的数字并直接映射到主机体系结构上的长整数。它速度更快且大小恒定,但受存储量的限制。后者用于存储任意大的数字,其大小取决于数字的大小。
1000000.class # => Fixnum
99999999999999999999.class # => Bignum
转换是在内部完成的。事实上 ruby 2.4.0,只有一个 class - Integer
.