からPHPにおけるビットシフトはので、私の問題は、私は、エンドポイントの応答から「プロセス」大きな整数にしたことです。これは、ハッシュであり、私は(それはバージョンです:メジャー、マイナー、構築、など)は、このデータを表示するために、いくつかのビットマスクとビットシフトを行うためにきた人間に可読な形で。私は簡単にこの処理行うために数行を書きましたC#のでULONG、ビットマスクと[OK]をC#
:
/// Endpoint data
ulong data = 567454918934921216;
ulong major = (version & 0xFFFF000000000000L) >> 48;
ulong minor = (version & 0x0000FFFF00000000L) >> 32;
ulong build = (version & 0x00000000FFFF0000L) >> 16;
ulong revision = version & 0x000000000000FFFFL;
string human = $"{major}.{minor}.{build}.{revision}";
Console.WriteLine(human);
/// Returns '2016.318.1322.0'
をしかし、これは、サーバー上で実行されているバックエンドタスクの一部である必要がありますので、私はしましたPHPに書いてください。問題は、PHPはそれの重要な部分をカットfloat
ように、その大整数(data
)を扱うことである(と私はその処理を行うため、すべてのシングルビットが必要)。
は、そこで質問です:どのようにすることができますI "ポート" という通常 PHPでのC#コードは?
重要なお知らせ:私はPHPのインストールやmodifiyサーバー アーキテクチャ/コンフィギュレーションにアクセスすることはできません。だから私はより大きな 整数またはプラグインを処理する64ビットに移行することはできません。
を使用することができますが、私はPHPのインストールにアクセスすることはできません
0xfffffffffffffffe
を構築します – fratili