Хорошо, поэтому моя проблема в том, что я должен «process» большое целое число от ответа конечной точки. Это hash, и я должен сделать некоторую битовую маску и сдвиги бит, чтобы просмотреть эти данные (это версия: майор, минор, сборка и т. Д.) В удобном для восприятия человеком виде.Улунг, битмаска и сдвиг бит в PHP с C#
В 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 обрабатывает это большое целое число (data
) как float
, разрезающее значительную его часть (и мне нужно каждый бит для выполнения этой обработки).
Так что вопрос: , как я могу "порт", что C# код в нормальной PHP?
Важное замечание: Я не могу получить доступ к установке PHP или modifiy сервер архитектура/конфигурации. Поэтому я не могу перейти на 64-битный, чтобы обрабатывать большее целое число или устанавливать плагины.
Да, но я не могу получить доступ к установке PHP, потому что это производственный сервер с сайтами и wordpress – fratili