ActiveModel::Type::Integer 的最大数量
Max number for ActiveModel::Type::Integer
我正在尝试将数字 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。
这是一个带符号的 4 字节整数。
所以它可以有的最大值是 2³¹ - 1
2147483647
我正在尝试将数字 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。
这是一个带符号的 4 字节整数。
所以它可以有的最大值是 2³¹ - 1
2147483647