Ruby中的有符号和无符号整数

时间:2013-03-12 11:23:17

标签: c ruby integer

与C一样,ruby是否有有符号和无符号整数,如果有,那么这意味着String类的长度方法是否返回有符号整数? (因为在C整数中,如果未指定则表示已签名)

3 个答案:

答案 0 :(得分:6)

Ruby以这样的方式实现整数,使得signed / unsigned的区别无关紧要,因为Ruby整数在适用时自动扩展为BigNum(任意长度整数)。

这有效地防止了整数溢出,这是恕我直言,人们关心具有固定大小的整数C语言的签名的主要原因。

答案 1 :(得分:3)

没有

简要介绍the documentation会告诉你:

  

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

这些整数总是签名。

答案 2 :(得分:2)

由于Ruby中的类型是动态的,因此强制Ruby将数值存储为特定格式是没有意义的。

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