【问题标题】:Signed and Unsigned Integers in RubyRuby 中的有符号和无符号整数
【发布时间】:2013-03-12 11:23:17
【问题描述】:

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

【问题讨论】:

    标签: c ruby integer


    【解决方案1】:

    没有。

    正如the documentation 告诉你的那样:

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

    这些整数总是有符号的。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 谢谢。我只担心整数溢出问题。
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-10-02
        • 2015-02-17
        • 2015-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-02
        相关资源
        最近更新 更多