2013-03-12 75 views
4

与C一样,ruby是否有符号和无符号整数,如果它确实那么这是否意味着String类的长度方法返回有符号整数? (因为如果未指定,则以C整数隐含有符号)Ruby中的带符号和无符号整数

回答

6

Ruby以这样的方式实现整数,即signed/unsigned的区别是不相关的,因为Ruby整数在适用时会自动扩展到BigNum(任意长度整数)。

这有效地防止整数溢出,这是恕我直言,最主要的原因,人们关心的符号性与固定大小的整数像C.

+0

谢谢。我只担心整数溢出问题。 – user1484793 2013-03-12 11:37:08

2

语言由于类型是Ruby的动态,迫使Ruby来存储数字值一个特定的格式是没有意义的。

Ruby将通过其内部机制存储整数。所以,让Ruby决定如何存储你的号码。

3

截至the documentation一个非常简短的表情就会告诉你:

Ruby支持整数和浮点数。整数可以是任意长度(最大值取决于系统的可用内存量)。

这些整数总是有符号的。