84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
1 | |
Почему числа в лиспе не ограниченны? Как они заимплементированны?03.03.2016, 21:07. Показов 465. Ответов 9
Метки нет (Все метки)
Собственно интересует имплементация чисел в лиспе. Почему они не ограниченны? Нигде не могу найти материалы о том как они работают.
0
|
03.03.2016, 21:07 | |
Ответы с готовыми решениями:
9
как в Лиспе из числа ну допустим 12 сделать числа 1 и 2 или 1001 должно получится числа 1 0 0 1 т.е я их смогу обрабатывать как список -)))) Реализация циклов на Лиспе, Вложенные циклы на Лиспе Как исправить возникшие ошибки, и почему они возникли? Пагинация сайта слева, почему при скролле вверх, как сделать что бы они постепенно удалялись? Доходя до каждого id? |
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
03.03.2016, 22:05 [ТС] | 3 |
Catstail, А можно поподробнее о реализации такой можно? Можно на коде? Или на пальцах??? Если вы не против
Добавлено через 4 минуты Просто я пытаюсь тут мудрить с байтами, но как то не особо получается
0
|
Модератор
|
|
03.03.2016, 22:07 | 4 |
Сложение, вычитание и умножение выполняются "столбиком" (как в школе). К примеру, складываем два числа. Берем самые младшие цифры, складываем и берем остаток по мод. 10 Это первая цифра результата. А частное от деления суммы цифр на 10 - это значение переноса. Следующую пару цифр складываем со значением переноса, делим рез. на 10 и т.д. Где-то на Форуме (в разделе C или C++) я когда-то выкладывал что-то подобное.
1
|
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
04.03.2016, 02:11 [ТС] | 5 |
Catstail,
, а не сильно затратно по памяти? Каждая цифра в числе получается занимает целый байт... Или я ошибаюсь?
Добавлено через 1 час 33 минуты Хотя, если я всё правильно понимаю, то разница всегда будет в 5 байт. Добавлено через 15 минут О_о перепутал байт с 4 битами, пойду ка я спать.
0
|
Модератор
|
|
04.03.2016, 06:55 | 6 |
- не ошибаетесь. Но есть и преимущество - не требуется программировать перевод в 10 сс.
- нет, если использовать систему с основанием 256, выигрыш в памяти будет существенным.
0
|
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
04.03.2016, 17:14 [ТС] | 7 |
Catstail, У меня вроде бы получилось вывести способ использования одного байта для двух цифр в числе. В итоге уменьшил расход байтов в два раза. 9, 10-значное число занимает 5 байт; 7,8 -> 4 байта и так далее, но это только для [0; +infinity), для (-infinity; +infinity) размер числа будет на 1 байт больше.
1
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||||
05.03.2016, 05:14 | 9 | |||||
Почему же числа в лиспе неограничены? Наверно, потому что так легче жить. А то можно написать факториал:
0
|
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
05.03.2016, 22:19 [ТС] | 10 |
helter, меня больше интересует как они реализованы так что являются бесконечными
0
|
05.03.2016, 22:19 | |
05.03.2016, 22:19 | |
Помогаю со студенческими работами здесь
10
Как суммировать числа когда они идут подряд, а не в одиночку Как ввести числа из txt, в котором они находятся на каждой строчке? Для чего нужны сужающие преобразования как они работают и на сколько они важны? Как писать программы на Лиспе? Как правильно записать функции в ЛИСПе ? Как реализованы cons ячейки в лиспе? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |