Привет ребята...
Возможно ли перевести float в 4 Byte систему в hiasm ?!
Нашел пример делфи: http://valeev.org.ru/index.php?art=30 ,но это не для моего ума :
Этот топик читают: Гость
Ответов: 321
Рейтинг: 10
|
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
карма: 26 |
| ||
файлы: 1 | code_36190.txt [4KB] [519] | ||
Голосовали: | Master4eG |
Ответов: 321
Рейтинг: 10
|
|||
Не хочет компить :\
C:\Program Files (x86)\HiAsm\Elements\delphi\code\WinLayout.pas(40) Hint: Private symbol '_onObjDestroy' declared but never used C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387AEF0.pas(109) Error: ';' expected but '*' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387AEF0.pas(109) Error: ',' or ')' expected but '-' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387AEF0.pas(109) Error: ';' expected but ')' found etc.. |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Попробуй другим браузером скачать или проверь кодировку.
|
|||
карма: 26 |
|
Ответов: 321
Рейтинг: 10
|
|||
Попробовал.
[flood]Подготовка к сборке проекта... Генерация кода целевого языка Компоновка проекта... Command line: dcc32.exe "C:\Program Files (x86)\HiAsm\Elements\delphi\code\Project4.dpr" "-U \Users\lavka86.ru\Projects\." -Q Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation C:\Program Files (x86)\HiAsm\Elements\delphi\code\WinLayout.pas(159) Warning: Variable 'd' might not have been initialized C:\Program Files (x86)\HiAsm\Elements\delphi\code\WinLayout.pas(176) Warning: Variable 'd' might not have been initialized C:\Program Files (x86)\HiAsm\Elements\delphi\code\WinLayout.pas(40) Hint: Private symbol '_onObjDestroy' declared but never used C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387B160.pas(109) Error: Identifier redeclared: 'Result' C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387B160.pas(109) Error: ',' or ':' expected but '(' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387B160.pas(109) Error: ';' expected but '*' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387B160.pas(109) Error: ',' or ')' expected but '-' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387B160.pas(109) Error: ';' expected but ')' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387B160.pas(109) Error: ',' or ':' expected but ';' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387B160.pas(112) Error: Type expected but 'END' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiInlineCode_387B160.pas(114) Error: '.' expected but ';' found C:\Program Files (x86)\HiAsm\Elements\delphi\code\hiMainForm_481F480.pas(9) Fatal: Could not compile used unit 'hiInlineCode_387B160.pas' Сборка завершена. [/flood] |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
num to float.7z
Вот строки 109-114: [offtop]В таких случаях скачивать нужно через "Сохранить по ссылке как", либо, если схема открывается в браузере и копируется в буфер обмена - после открытия поставить кодировку Windows-1251[/offtop] |
|||
карма: 26 |
| ||
файлы: 1 | dfsfsdfh.jpg [21.1KB] [576] |
Ответов: 321
Рейтинг: 10
|
|||
Спасибо огромное, с трех браузеров попробовал. Сейчас все работает.
А реверс нельзя осуществить ?! |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
А как сформулировать эти преобразования? Что собой представляет то целое число?
|
|||
карма: 26 |
|
Ответов: 321
Рейтинг: 10
|
|||
В моем случае это значение храниться в адресе памяти одного процесса.
И формат его именно этот непонятный float. ProcMemory читает адрес в Byte, 2 Bytes, 4 Bytes как я понимаю, следовательно я не понимаю сколько целых в float. Теперь могу понимать, благодаря схеме выше, но для корректировки значения на свое fail. [flood]Binary Byte 2 Bytes 4 Bytes 8 Bytes Float Double[/flood] |
|||
карма: 1 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Master4eG, на всякий случай картинка для ясного представления о формате
32_64_real.jpg |
|||
карма: 19 |
| ||
файлы: 2 | 32_64_real.jpg [56.9KB] [599], datatofile_ex.rar [3KB] [213] |
Ответов: 4630
Рейтинг: 749
|
|||
карма: 26 |
|
Ответов: 321
Рейтинг: 10
|
|||
Леонид спасибо, но я уже с ума схожу потихоньку с этим float. Как будто в матрице живу
Числа с плавающей запятой используют формат IEEE (Института инженеров по электротехнике и электронике). Значения с одиночной точностью и типом float имеют 4 байта, состоят из бита знака, 8-разрядной двоичной экспоненты excess-127 и 23-битной мантиссы. Мантисса представляет число от 1,0 до 2,0. Поскольку бит высокого порядка мантиссы всегда равен 1, он не сохраняется в числе. Это представление обеспечивает для типа float диапазон примерно от 3,4E–38 до 3,4E+38. ...https://msdn.microsoft.com/ru-ru/library/hd7199ke.aspx |
|||
карма: 1 |
|
12