php – 数字字符串(任意大小) – >多个整数

我遇到了问题,因为我的数据库有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
上一篇:sql脚本函数编写postgresql数据库


下一篇:C BigInt乘法概念问题