|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
25.09.2018, 11:41 | #1 | |
Необъяснимое поведение fix
Регистрация: 06.06.2009
Сообщений: 19
|
||
Просмотров: 8770
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Мы имеем или наблюдаем? И явно у тебя вычитается не 1, а 51
P.S. Число 3549.9996666888999999 вполне может показываться как 3550.0: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Да, ошибся я
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
#2, вопрос в представлении и реальном значении.
(rtos a 2 16) - что вернет? В а - обрабатываемое значение. А еще лучше - вообще кусок кода, который вычисляет это значение.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Это он так думает. И вполне возможно, что AutoCAD его так отображает (в командной строке или в Панели свойств или в размерном тексте). А в действительности это число "чуть меньше", чем 3550.0
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,046
|
интересно, а какой эпсилон заложен в акаде и в самом лиспе.
В том же C# определены как константы: Цитата:
|
|||
|
||||
Цитата:
https://en.wikipedia.org/wiki/Double...g-point_format (DBL_EPSILON: 2^52 ≈ 2.2204460492503131e-016)
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,046
|
И на русском в википендии
|
|||
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
Цитата:
Код:
число вбивалось в том числе и вручную, т.е. прям в панели свойств - 3550 |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,046
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Код:
Код:
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
А почему бы не посмотреть описание fix в документации? Эта функция преобразовывает (не округляет) число в целое. Вещественные числа усекаются до ближайшего целого путем отбрасывания дробной части.
Это не баг, а "фича". Сразу была в Автолисп еще версии R10. Видимо предполагая, что иные виды округления разработает программист. А в "ЯП, которые развиваются и где фиксятся баги" имеются наборы других функций. Например в Delphi есть функции округления Ceil (X), Floor (X), Frac (X), Int(X), Round(X), Trunc(X). Причем округления, в основном, внутри себя используют Int. Функция fix в Автолисп работает как Trunc(X) или Int(X). Еще надо помнить, что Лисп сам определяет тип переданного аргумента "по написанию" |
|||
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
Цитата:
Цитата:
Цитата:
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Посоветуйте, пожалуйста, литературу по проектированию фундаментов на основаниях, содержащих слой сильновыветрелого грунта (рухляка) или поведение рухляка под нагрузкой | Zvezdaneba | Поиск литературы, чертежей, моделей и прочих материалов | 5 | 28.07.2016 15:11 |
Странное поведение функции GetPoint | krok64 | Программирование | 3 | 15.06.2016 08:01 |
Непонятное поведение цикла по списку | swkx | Программирование | 33 | 28.03.2012 15:39 |
Поведение AutoCAD 2005 после установки 2006 | Кулик Алексей aka kpblc | AutoCAD | 12 | 10.08.2005 08:49 |