6

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

4

3 回答 3

8

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

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

于 2013-03-12T11:27:04.283 回答
3

不。

正如文档告诉您的那样:

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

这些整数总是有符号的。

于 2013-03-12T11:27:45.467 回答
2

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

Ruby 将通过其内部机制存储整数。因此,让 Ruby 决定如何存储您的号码。

于 2013-03-12T11:27:21.473 回答