我正在尝试存储大量在存储为INT值时截断的大数字。不幸的是,它们对于这种类型来说太大了。
我正在考虑使用Base36编码来实现这一点。有没有其他方法可以解决这个问题?
通常情况下,Base36编码会导致精度损失,因为基本转换过程需要浮点数运算。这不仅会在与 之间进行转换时损坏您的数据Base36,还会消耗更多空间(INT占用 4 个字节,许多Base36接近 32 位无符号整数限制的编码整数将占用更多空间)。
Base36
INT
有关精度损失的详细说明,请参阅PHP 的文档。
答:您应该使用BIGINT进行操作。