Я программирую веб-приложение, в котором вы вводите шестнадцатеричное значение в поле, и приложение предоставляет вам подробную информацию о том, какой бит установлен. Но я столкнулся с проблемой, если сделать:
base_convert (значение, 16, 2)
с 6-байтовым значением я получаю правильное битовое соответствие, но если я делаю это снова с 7 или более байтовым значением, я получаю строку, которая не является правильным битовым соответствием. Я не знаю, как решить эту проблему, так как это функция PHP. Есть ли альтернатива этой функции в PHP?
Да, я заметил это, но мой вопрос был больше о решениях или альтернативах этой проблемы.






Вы должны работать байт за байтом вместо того, чтобы сразу помещать полное значение в функцию base_convert().
Пожалуйста, попробуйте это.
эхо base_convert('значение',16,2); или
$ тест = 'значение'; эхо base_convert ($ тест, 16, 2);
вывод: 10101110
Вы внимательно читали документацию? Предупреждение base_convert() может терять точность для больших чисел из-за свойств, связанных с используемым внутренним типом "double" или "float". Более подробную информацию и ограничения см. в разделе «Числа с плавающей запятой» в руководстве.