Страница: 1 |
существует ? Т.е. у нее на входе "FF", на выходе должно быть 255. Как это сделать стандартными средствами ?
public function ZZZZZ(by val pPar as string) as integer ZZZZZ = val("&H" & pPar) end function msgbox(ZZZZZ("FF")) ->255 Страница: 1 |
Вопрос: Стандартная функция, преобразовывающая hex-стро...
Добавлено: 05.05.03 15:24
Автор вопроса: avkiev | ICQ: 226072
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
anatoli
Вопросов: 0
Ответов: 5
Профиль | | #1
Добавлено: 05.05.03 16:15
Номер ответа: 2
Автор ответа:
avkiev
ICQ: 226072
Вопросов: 48
Ответов: 107
Профиль | | #2
Добавлено: 06.05.03 10:10
Пасиб
Номер ответа: 3
Автор ответа:
Andvari
Вопросов: 1
Ответов: 5
Профиль | | #3
Добавлено: 07.02.05 19:33
У меня такая вот проблема... Хочу сделать кое-какой редактор, но не могу правильно перевести из ХЕКСа во флоат. Например, E5DF86C4 это в переводе на русский значит -1078.9967.
Есть ли функция, которая может так переводить?
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 07.02.05 20:27
http://babbage.cs.qc.edu/courses/cs341/IEEE-754hex32.html
Номер ответа: 5
Автор ответа:
Andvari
Вопросов: 1
Ответов: 5
Профиль | | #5
Добавлено: 08.02.05 16:56
Спасибо за ссылку, но к сожалению она мне не помогла.
Что интересно, я сделал программку, которая переводит хекс в нормальное число. Из E5DF86C4 получается -438335804. Но HexWorkshop это число (E5DF86C4) переводит совсем не так, а вот как:
Signed long -997793819
Unsigned long 3297173477
Float (32 бита) -1078.9967 (вот оно-то мне и нужно)
Такая вот загогулина, понимашь....
Номер ответа: 6
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #6
Добавлено: 08.02.05 17:38
А про обратный порядок байт в слове и двойном слове ты слышал? Если в памяти находится E5 DF 86 C4, то оно равно не 0xe5df86c4, а 0xc486dfe5, т.е. HexWorkshop тебе перевел правильно. А почему тебе не помогла ссылка? Там ведь все понятно написано, не то, что в самом стандарте... Но если тебе нужен стандарт, поищи IEEE-754
Номер ответа: 7
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #7
Добавлено: 08.02.05 18:42
CopyMemory Forever
И, к слову, а как в HEX может быть FLOAT??? HEX оно с Float не совместимое...
2Sharp а?
Номер ответа: 8
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #8
Добавлено: 08.02.05 19:11
Типа имеется ввиду машинное представление чисел с плавающей точкой, по старой системе float - 32-битовое нецелое, double - 64-битовое нецелое, long double - 80-битовое нецелое. Подробнее надо у CyRax'а узнавать, он этим интересовался.
Человеку, таким образом, надо перевести HEX-запись машинного представления вещественных чисел в двоичный вид.
Номер ответа: 9
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #9
Добавлено: 08.02.05 19:11
Тьфу, в десятичный
Номер ответа: 10
Автор ответа:
Andvari
Вопросов: 1
Ответов: 5
Профиль | | #10
Добавлено: 08.02.05 19:40
Я действительно не совсем понимаю всю эту науку. Как перевести 0F в 15 это ежу понятно. Но каким образом из 00008040 получить 4 я никак не пойму.
Где бы посмотреть алгоритм? В инете никак не могу найти.
Номер ответа: 11
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #11
Добавлено: 08.02.05 19:49
А кто из 00008040 получает 4? Если это непосредственно число, должно получиться 32832, если это в памяти, тогда 1082130432
Номер ответа: 12
Автор ответа:
Andvari
Вопросов: 1
Ответов: 5
Профиль | | #12
Добавлено: 08.02.05 21:22
Странно, у меня хексэдитор на 0000 8040 показывает флоат 4.
А вот сигнед лонг 1082130432.
0000 8041 - это 16
и т д.
Дело в том, что я хочу сделать программу, которая обрабатывает особые файлики. Интересующие меня числа там помещены в таком вот неудобном виде. Я хочу, чтобы программа сначала читала всю эту гадость E5DF86C4 60B4B2C0 542D8E43 словно это текст (это я уже сделал), а затем бы переводила это всё в десятичные дроби.
Если кому интересно, то это файлики из игры Мафия, и в них записаны координаты некоторых объектов. Структуру я уже знаю.
Номер ответа: 13
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #13
Добавлено: 08.02.05 22:54
А IEEE-754 ты так и не читал?
Номер ответа: 14
Автор ответа:
Andvari
Вопросов: 1
Ответов: 5
Профиль | | #14
Добавлено: 11.02.05 12:52
Да, спасибо огромное. Нашёл наконец. Хотя и с трудом.
Плясать тут надо от двоичного представления.
Структура такая:
знак показ. степ. мантисса
х хххх хххх ххх хххх хххх хххх хххх хххх
Само число равно -1 в степени знака умножить на 2 в степени (показат.степени - 127) и умножить на 1.мантисса.
То есть единичка, а после запятой мантисса идёт.
Ещё раз спасибо, сам бы не справился.