gpt4 book ai didi

python - 在 MySQL 中存储 Python 长整数有哪些选项?

转载 作者:行者123 更新时间:2023-11-28 21:23:50 25 4
gpt4 key购买 nike

我需要在 MySQL 中表示 Python“长整数”的实例。我想知道我应该使用哪种最合适的 SQL 数据类型。

Python 文档 (v2.7) 说(对于 numbers.Integral):

Long integers

These represent numbers in an unlimited range, subject to available (virtual) memory only. For the purpose of shift and mask operations, a binary representation is assumed, and negative numbers are represented in a variant of 2’s complement which gives the illusion of an infinite string of sign bits extending to the left.

我阅读的 MySQL 文档表明 BIGINT 被限制为 64 位。 DECIMAL 类型似乎限制为 65 位。我当然可以使用 BLOB。

应用程序需要支持非常大量的数据,但我还不知道这些长整数可能有多大,也不知道我可能会看到多少。

我想保留 Python 长整数定义的精神,它建议使用 BLOB。我也想避免重新发明轮子,所以我呼吁 stackoverflow 的蜂群思维。

建议?

最佳答案

是的,如果您真的需要无限的精度,那么您将不得不使用 blob,因为即使是字符串也是有限的。

但实际上我几乎可以保证您可以使用 NUMERIC/DECIMAL 数据类型。 65 位表示您可以表示范围 (-10^65, 10^65) 内的数字。这是多大?给你一些想法:整个宇宙中的原子数估计约为 10^80。如果您只需要正数,则可以通过预先减去 10^65 -1 将范围进一步扩大 2 倍。

关于python - 在 MySQL 中存储 Python 长整数有哪些选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16867823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com