![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() часто сталкиваюсь с ситуацией, когда в файле содержится перевернутое число. для того чтобы число стало нормальным его байты необходимо перевернуть. в delphi для свопирования целых 2х байтных чисел есть функция swap.
для целых 4х байтных мне посчастливилось найти функцию реализованную на ассемблере: Код:
|
#2
|
||||
|
||||
![]() Самопал:
Код:
Можно и так: Код:
jmp $ ; Happy End! The Cake Is A Lie. |
Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
Tonyy (23.05.2013)
|
#3
|
||||
|
||||
![]() Ну если можно использовать SwapDWord, то наверно так -
Код:
ну и до кучи Код:
|
#4
|
||||
|
||||
![]() Цитата:
|
#5
|
|||
|
|||
![]() приведенные реализации, как я понял, только ведь для целых чисел, так?
а как все-таки свопировать тип single? |
#6
|
||||
|
||||
![]() Цитата:
Код:
|
#7
|
||||
|
||||
![]() Цитата:
jmp $ ; Happy End! The Cake Is A Lie. |
#8
|
||||
|
||||
![]() Цитата:
|
#9
|
||||
|
||||
![]() Цитата:
|
#10
|
||||
|
||||
![]() Сомневаюсь. "Умники", придумавшие big-edian, по-моему его везде запихали, где только смогли. В то время как сингловый 1 хранится на х86 как 00 00 80 3F, т.е. в обратном порядке, как и остальные числа в little-edian.
И, кстати, пруф: жава юзает big-edian в .class файлах. Мне для чтения флоат-констант из файла пришлось делать Код:
jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 03.06.2013 в 15:04. |
Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
Freeman (03.06.2013)
|
#11
|
||||
|
||||
![]() Цитата:
|