как можно максимально быстро делать реверс 4-х байт ну и было бы не плохо так же 8 байт, классику с обратным направлением для for не предлагать
по факту данные хранятся ввиде Int64 либо Integer, так вот как числа подобных типов можно перевернуть правильным путём?
примеры:
нормал
AABBCCDD - 2864434397 0000AABBCCDDEEFF - 187723572702975
реверс
DDCCBBAA - 3721182122 FFEEDDCCBBAA0000 - -4822678189244416
4 байта восновном для float, так как оно храниться в обратном порядке
ну а 8 байт для указателей, так как те тоже храняться в обратном порядке
Редактировалось 1 раз(а), последний 2022-05-10 16:36:30
Этот топик читают: Гость
Ответов: 1343
Рейтинг: 31
|
|||
карма: 2 |
|
Ответов: 2236
Рейтинг: 676
|
|||
Rysik, если необходимо получать данные из файла, то можно воспользоваться элементом DataToFileEx (Сохранение/загрузка данных в/из файл/файла) автор: Galkov.
Есть свойство BigEndian (True/False), так что можно читать как от старшего к младшему,так и на оборот. Если что из него можно и "выковырять" нужный код для вставки в IC. Элемент не стандартный, на форуме выкладывали. Редактировалось 3 раз(а), последний 2022-05-10 17:20:27 |
|||
карма: 11 |
|
Ответов: 8921
Рейтинг: 823
|
|||
sla8a писал(а): DataToFileEx
|
|||
карма: 19 |
|
Ответов: 307
Рейтинг: 26
|
|||
sla8a писал(а): Элемент не стандартный, на форуме выкладывали.DataToFileEx-https://forum.hiasm.com/getfile/39444 DataToFileEx_NS_mod_2020-04-21-https://forum.hiasm.com/getfile/39445 |
|||
карма: 2 |
|
Ответов: 783
Рейтинг: 168
|
|||
Rysik писал(а): как можно максимально быстро делать реверс 4-х байт ну и было бы не плохо так же 8 байтНашёл только .NET BitConverter Класс. https://docs.microsoft.com/ru-ru/dotnet/api/system.bitconverter?view=net-6.0 Попробовал подключить. Скорость что-то не очень. Схема для пробы.
Редактировалось 1 раз(а), последний 2022-05-12 11:07:29 |
|||
карма: 15 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Ну, я же когда-то тебе давал IC для целых чисел. Вот с примером кода для 8-байтных чисел и применения для Single/Double.
|
|||
карма: 26 |
|
Ответов: 1343
Рейтинг: 31
|
|||
как оказалось данные при правильном изъятии, приобретают правильный вид))
для Int(последующей конвертации в float) pInteger(buf)^ для Int64 pInt64(buf)^ Редактировалось 1 раз(а), последний 2022-05-18 11:49:58 |
|||
карма: 2 |
|
7