Деление в ЛИСПе
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Деление в ЛИСПе

Деление в ЛИСПе

Ответ
 
Поиск в этой теме
Старый 19.10.2007, 15:01 #1
Деление в ЛИСПе
BARS_1985
 
construktor
 
moscow
Регистрация: 26.09.2007
Сообщений: 24

Вопрос может показаться глупым, но почему при задании переменной применяя деление лисп считает только целое число, например:

q 3
polq (/ q 2)

!q
1

Как это можно изменить? Погрешность невелика, но при создании чертежей это большая проблема.
Просмотров: 6890
 
Старый 19.10.2007, 15:04
#2
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Особенность интерпретатора - если аргументы оба целочисленные - результат тоже целое - дели на 2.0, если надо нецелое получить, или так (/ (float q) a) если формат аргументов неизвестен.
Alaspher вне форума  
 
Старый 19.10.2007, 15:06
#3
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Если в математических действиях будет хоть число с запятой, то и ответ будет не целым...
Как пример:
(/ q 2.)
Елпанов Евгений вне форума  
 
Автор темы   Старый 19.10.2007, 15:25
#4
BARS_1985

construktor
 
Регистрация: 26.09.2007
moscow
Сообщений: 24


Спасибочки большое! А где можно задавать подобного рода возникающие, простые вопросы? :-) Не хочется засорять форум, что бы модераторы не кричали! В поиске этот вопрос я искал.. Не было. И интересно, что с форумом на autocad.ru какие то там проблемы с сервером!
BARS_1985 вне форума  
 
Старый 19.10.2007, 15:30
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Насчет доступа к autocad.ru: http://dwg.ru/f/showthread.php?t=11537
А вопросы... Ну, наверное, в "Программировании"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 19.10.2007, 15:37
#6
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от BARS_1985 Посмотреть сообщение
В поиске этот вопрос я искал.. Не было.
Начинать поиск ответов лучше всего с встроенного хэлпа. По делению, в описании, там правда ответа на твой вопрос нет, но в примерах, как раз хорошо показано:
Цитата:
Examples
Код:
[Выделить все]
(/ 100 2)                 returns  50
(/ 100 2.0)               returns  50.0
(/ 100 20.0 2)            returns  2.5
(/ 100 20 2)              returns  2
(/ 4)                     returns  4
Если не находишь ответа ни в хэлпе, ни поиском, то задавай тут, в форуме - он для этого (в том числе) и создан.
Alaspher вне форума  
 
Старый 02.02.2015, 09:22
#7
trushev


 
Регистрация: 12.01.2015
Сообщений: 261


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А вопросы... Ну, наверное, в "Программировании"
В стародавние времена, при вычислениях на арифмометре мне больше нравилось умножать чем делить. Привычка избегать деления сохранилась до настоящего времени.
А как правильнее: (/ a 2.0) или (* a 0.5).
trushev вне форума  
 
Старый 02.02.2015, 10:21
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Цитата:
Сообщение от trushev Посмотреть сообщение
А как правильнее: (/ a 2.0) или (* a 0.5).
В принципе "что в лоб, что по лбу" - особенно в такой форме записи
P.S. Можешь сам сравнить варианты:
(/ 5 2)
(/ 5 2.)
(/ 5. 2)
(/ 5. 2.)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 02.02.2015, 10:54
#9
trushev


 
Регистрация: 12.01.2015
Сообщений: 261


Цитата:
Сообщение от trushev Посмотреть сообщение
А как правильнее: (/ a 2.0) или (* a 0.5).
Кажется нашел!
Умножение в двоичной системе счисления сводится к умножению на 10 (то есть на десятичную 2), а стало быть, умножение это ряд последовательных сдвигов. Алгоритм деления сложнее и времени на исполнение скорее всего тратится больше.

----- добавлено через ~14 мин. -----
При современных скоростях обработки данных думаю ты прав:
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В принципе "что в лоб, что по лбу"
trushev вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Деление в ЛИСПе



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить задачку на ЛИСПе? Nastya_Cher LISP 2 21.03.2007 22:58
Есть несколько примочек к AutoCAD R14 (на ЛИСПе). insceneman AutoCAD 3 22.07.2005 16:06
Можно ли в лиспе, в качестве координат задать выражение? B2Slow LISP 6 11.07.2005 11:40
написание диалога на лиспе Александер LISP 17 07.07.2005 15:48
Научите кодить на Лиспе!!! Карандаш LISP 10 06.12.2004 19:04