【问题标题】:Max number for ActiveModel::Type::IntegerActiveModel::Type::Integer 的最大数量
【发布时间】:2018-05-21 20:46:32
【问题描述】:

我正在尝试将数字 3980040429 存储为对象的 ID,但出现以下错误:

ActiveModel::RangeError (3980040429 is out of range for ActiveModel::Type::Integer with limit 4 bytes)

这4个字节不等于4 294 967 296吗?

4 bytes × 8 bits = 32 bits 
2³² = 4 294 967 296

我显然错了 - 我可以为 ID 保存的最大整数是多少?

我在 Rails 5.2 和 Postgres 9.6 上。

【问题讨论】:

标签: ruby-on-rails numbers byte ruby-on-rails-5 activemodel


【解决方案1】:

这是一个有符号的 4 字节整数。

所以它可以有的最大值是 2³¹ - 1

2147483647

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 2013-04-06
    • 2021-06-05
    • 2012-04-14
    • 1970-01-01
    相关资源
    最近更新 更多