因此,我正在使用 PHP 来转换 Steam Id,这可能是你们很多人都熟悉的。我有以下 Steam ID:
STEAM_0:1:1514332
现在,我需要将其转换为 64 位版本,这也是社区 ID。浏览 Steams 官方发布后:http://developer.valvesoftware.com/wiki/SteamID在网上查找了很多地方之后,我发现以下方法适用于此:
Let X,Y, and Z be defined by the Steam ID: STEAM_X:Y:Z
SteamCommunityID = (Z*2) + 76561197960265728 + Y
所以它有效!但是,我的实际社区 ID 与我生成的社区 ID 之间似乎不匹配
Actual: 76561197963294393
PHP generated: 76561197963294000
当反转方程式时,为了从社区 ID 中获取我的 Steam ID,我得到:1514335.5
这是相关 php 的一个简单示例:
//STEAM_0:1:1514332
$a = (1514332 * 2) + 76561197960265728 + 1;
echo $a; //76561197963294000
难道我做错了什么?
PHP 在 32 位二进制上没有 64 位 int。这里使用的是浮点数。看如何在 PHP 上获得 64 位整数?
该问题包括链接到BC Math,可用于解决您的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)