Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 3.34 Функция перевода шестнадцатеричного hex кода в целое число int

Страниц (1): [1]
 

1. Kibor - 24 Января, 2015 - 13:09:38 - перейти к сообщению
codhexi позволяет перевести шестнадцатеричный hex код в целое число int. Если число более 2 147 483 647 записывать в double. Подробнее..
Применяется для чтения числовых значений с памяти процесса.

синтаксис
codhexi(#char_hex[0], 4);
параметр первый - указатель на массив char в котором находится считанный код с памяти с помощью readmemory - Работа с памятью процесса. Поиск, чтение, запись в память процесса игры

второй - количество байт в массиве которые переводятся в число.

CODE:
char xp[8]={112, 186, 44, 0, 1, 0, 0, 0};//тут надо преобразовать в число с 8 байт
double result=codhexi(#xp[0], 8);
messagebox (result);




Внимание - в памяти процесса байты считываются справа налево. codhexi, также как и codhex и codhexd специально заточена для удобного использования именно для работы с процессами, поэтому в массиве char после чтения с процесса не надо переворачивать байты. Обработка идет уже сразу справа налево.
Однако если есть необходимость использовать codhexi для обычного перевода шестнадцатеричного кода в десятеричный, то необходимо перевернуть байты шестнадцатеричного кода наоборот. не так как пишем в калькуляторе.

Пример если в калькуляторе забить такой шестнадцатеричный код 5E A8 1C и конвертировать в десятичное число, то получим 6203420.
В памяти программ это же число будет записано наоборот в шестнадцатеричной системе 1C A8 5E. Байты задом наперед. И при чтение в массив char они и будут так же записаны
CODE:
char hex[3];

hex[0]=formatic(28);//1C
hex[1]=formatic(168);//A8
hex[2]=formatic(94);//5E

int uy=codhexi(#hex[0], 3);
messagebox (uy);//6203420
2. Dantes3000 - 02 Мая, 2018 - 14:08:55 - перейти к сообщению
Как из char c='N'; получить 55 в десятеричной системе?

Powered by ExBB FM 1.0 Final