我遇到了一个问题,因为我的数据库有 BIGINT 数据(64 位整数),但我运行的 PHP 版本只有 32 位。
因此,当我从表中提取值时,我最终得到一个数字字符串,表示以 10 为基数的 64 位整数。理想情况下,我想做的是使用 64 位整数作为位掩码。因此,我需要转到两个 32 位整数(一个代表上半部分,一个代表下半部分)或基数为 2 的数字字符串。
问题是我不能将它相乘,因为我的 PHP 只有 32 位。我卡住了吗?
最佳答案
您可以使用 MySQL 的 bit shift operators将 64 位整数拆分为两个 32 位整数。因此,您可以选择:
select (myBigIntField & 0xffffffff) as lowerHalf,
(myBigIntField >> 32) as upperHalf
关于php - 数字字符串(任意大小)-> 多个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1576192/