а подскажите, нельзя ли такими лонгами оперировать в пхп, чтобы они переполнялись, а не кастились в long?
Я сейчас разложил просто 64 бита CCD044A12FDB3E13 на 2 unsigned по 32 бита, как считаете, правильно сделал?
Евгений Шатунов, То есть, порядок байт в конечном итоге не столь важен?
Слушайте, а если:
0) выделили 8 байт на unit8_ptr
1) затем сместили адрес на 2: uint8_ptr += 2
2) а затем кастанули поинтер в uint32
Что произойдет? Новый 32битный поинтер получит данные только со смещения 2 или все, с 0?
Посмотрите, что я хочу добится в итоге https://pastebin.com/tD8HEz1X
Необходимо код на с портировать в пхп, а там в с такая вот магия с типами... причем кастов очень много, а код очень длинный...... не могу это все рефакторить, проще реализовать аналоги указателей, чем рефакторить... расширением пробросить тоже нельзя
Евгений Шатунов,
То есть верно я понимаю вас?
Это массив по 8 бит: string(47) "00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff 7f"
А таким он будет после каста в 32 бит: string(43) "0x00000000 0x00000000 0x00000000 0x7fffffff"
Верно?
Или все таки Big Endian?