Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (4): « 1 2 [3] 4 »   

> Описание: Функция перевода шестнадцатеричного hex кода в дробное число double
Kibor
Отправлено: 12 Декабря, 2017 - 21:28:09
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Вообще то в памяти числа так и записаны. Справа налево.
И ничего переворачивать не надо при чтение с памяти данных числовых. Что это за участок памяти и является ли это числом или частью просто чего то я не знаю.
Проверьте точный адрес реального числа.
 
 Top
AdryV
Отправлено: 12 Декабря, 2017 - 21:34:14
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016  
Репутация: 11




все уже работает надо было перевернуть масив
 
 Top
Kibor
Отправлено: 12 Декабря, 2017 - 22:41:01
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




В памяти изначально числа записаны справа налево. Переворачивать при чтение числовых значений не надо.
 
 Top
Kibor
Отправлено: 08 Марта, 2019 - 10:31:40
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Обновил функцию. Исправил переворот байт.
Если в CE байты идут к примеру

FF FF 7F 7F
что соответствует самому большому значению float
340282346638528860000000000000000000000.000000

То в Кибор это будет записано так

char p[4]={255, 255, 127, 127}
double a=codhexd(#p[0]);
messagebox (a);//Выведет 340282346638528860000000000000000000000.000000

При указание большего числа будет ошибка #QNANO
 
 Top
AdryV
Отправлено: 08 Марта, 2019 - 13:15:33
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016  
Репутация: 11




Ура!
работает супер спасибПодмигивание
 
 Top
SOLNCE
Отправлено: 20 Апреля, 2021 - 01:36:46
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Сент. 2016  
Репутация: 0




сам врятли смогу, есть у кого код перевода float to int? где инт был бы равен только целому значению флоат

(Отредактировано автором: 20 Апреля, 2021 - 01:37:27)

 
 Top
Zireael
Отправлено: 20 Апреля, 2021 - 01:45:03
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
код перевода float to int? где инт был бы равен только целому значению флоат

Присвоить значение переменной int.
CODE:
double x = 123.07;
int y = x;
messagebox(y);
 
 Top
SOLNCE
Отправлено: 20 Апреля, 2021 - 14:12:57
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Сент. 2016  
Репутация: 0




спасибо
 
 Top
a300
Отправлено: 14 Февраля, 2024 - 08:13:21
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 32
Дата рег-ции: Май 2020  
Репутация: 0




Здравствуйте.

Как заставить в int писать правильное значение?
Просто присвоить значение переменной int не помогает.
CODE:
double a = 9.999999;
double a1 = 2.79;

int b = 1000000000;

double c = a * b;
double c1 = a1 * b;
int d = c;
int d1 = c1;
messagebox (format(c)+formatic(13)+formatic(10)+format(d)); // выводит не то что должен
messagebox (format(c1)+formatic(13)+formatic(10)+format(d1)); // выводит вообще отрицательное число
 
 Top
Ilya001
Отправлено: 14 Февраля, 2024 - 08:22:38
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 458
Дата рег-ции: Май 2020  
Репутация: 23




 a300 пишет:
Здравствуйте.

Как заставить в int писать правильное значение?
Просто присвоить значение переменной int не помогает.
CODE:
double a = 9.999999;
double a1 = 2.79;

int b = 1000000000;

double c = a * b;
double c1 = a1 * b;
int d = c;
int d1 = c1;
messagebox (format(c)+formatic(13)+formatic(10)+format(d)); // выводит не то что должен
messagebox (format(c1)+formatic(13)+formatic(10)+format(d1)); // выводит вообще отрицательное число

Целый тип int имеет размер 4 байта (32 бита). Минимальное значение -2 147 483 648, максимальное значение 2 147 483 647. Возможно у тебя значение в int не помещается

(Отредактировано автором: 14 Февраля, 2024 - 08:35:33)

 
 Top
Страниц (4): « 1 2 [3] 4 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by