ActiveModel::Type::Integer的最大数字是多少?

5

我试图将数字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。


1
也许这是一个有符号整数。2**31,正负... - Phlip
2
看起来这里接受的答案回答了你的问题 https://dev59.com/iFwX5IYBdhLWcg3wrRE5#33517626 - Igor Drozdov
1个回答

4

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

所以它能取到的最大值是2³¹ - 1

2147483647


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接