Вообще то в памяти числа так и записаны. Справа налево.
И ничего переворачивать не надо при чтение с памяти данных числовых. Что это за участок памяти и является ли это числом или частью просто чего то я не знаю.
Проверьте точный адрес реального числа.
21. Kibor - 12 Декабря, 2017 - 13:28:09 - перейти к сообщению
22. AdryV - 12 Декабря, 2017 - 13:34:14 - перейти к сообщению
все уже работает надо было перевернуть масив
23. Kibor - 12 Декабря, 2017 - 14:41:01 - перейти к сообщению
24. Kibor - 08 Марта, 2019 - 02:31:40 - перейти к сообщению
Обновил функцию. Исправил переворот байт.
Если в 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
Если в 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
25. AdryV - 08 Марта, 2019 - 05:15:33 - перейти к сообщению
работает супер спасиб
26. SOLNCE - 19 Апреля, 2021 - 17:36:46 - перейти к сообщению
сам врятли смогу, есть у кого код перевода float to int? где инт был бы равен только целому значению флоат
27. Zireael - 19 Апреля, 2021 - 17:45:03 - перейти к сообщению
Цитата:
код перевода float to int? где инт был бы равен только целому значению флоат
Присвоить значение переменной int.
CODE:
double x = 123.07;
int y = x;
messagebox(y);
int y = x;
messagebox(y);
28. SOLNCE - 20 Апреля, 2021 - 06:12:57 - перейти к сообщению
спасибо
29. a300 - 14 Февраля, 2024 - 00:13:21 - перейти к сообщению
Здравствуйте.
Как заставить в int писать правильное значение?
Просто присвоить значение переменной int не помогает.
Как заставить в 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)); // выводит вообще отрицательное число
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)); // выводит вообще отрицательное число
30. Ilya001 - 14 Февраля, 2024 - 00:22:38 - перейти к сообщению
a300 пишет:
Здравствуйте.
Как заставить в int писать правильное значение?
Просто присвоить значение переменной int не помогает.
Как заставить в 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)); // выводит вообще отрицательное число
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 не помещается