|
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
Имплементация Number24.02.2016, 13:59. Показов 2500. Ответов 10
Метки нет (Все метки)
Хочу заимплементировать свои числа в С++. Подскажите наводящие темы и статьи. Смысл в динамическом увеличении количества битов для числа при его выходе за рамки битов.
0
|
|
| 24.02.2016, 13:59 | |
|
Ответы с готовыми решениями:
10
Calculate total number of operations needed to convert a number from origin to sigle digit Given a year number. Output the number of days of that year create a number |
|
Модератор
|
|
| 25.02.2016, 13:04 | |
|
Vaderkos, вам нужно создать динамически расширяемый класс целых чисел?
Добавлено через 5 минут Vaderkos, дело в том, что C++ - это статически типизированный язык программирования. Если Вы объявите переменную определённого типа, позже Вы не сможете изменить тип этой переменной. Разве что, Вы воспользуетесь приведением типов (static_cast).
1
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 25.02.2016, 13:19 | |
|
gru74ik, но есть же ж массив байт
std::vector<std::uint8_t> куда можно запихнуть любое число - хранить в таком виде и возвращать в таком виде.
2
|
|
|
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
| 25.02.2016, 13:31 [ТС] | |
|
gru74ik, Я пишу свой простенький интерпретатор лиспа, и поэтому хочу сделать свои числа, как вариант я думал создать массив битов для этого дела или просто биты(взять какую-нибудь библиотеку). Но не знаю как лучше это дело провернуть.
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 25.02.2016, 13:35 | |
|
Croessmah, так буст еще подключать надо)
0
|
|
|
393 / 165 / 32
Регистрация: 10.12.2015
Сообщений: 717
|
|
| 25.02.2016, 13:54 | |
|
Vaderkos, как ни странно lisp проще всего написать на lisp'е. Хочется лезть вниз, ищи длинную арифметику.
Добавлено через 1 минуту класс Number будет базовым, а его наследниками: Inetegеr, Float, Rational, Complex. Сам по себе он будет подезен только для предиката numberp.
1
|
|
|
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
| 25.02.2016, 14:04 [ТС] | |
|
cyber-satyr, Если б мог я бы написал базовый класс object или variable но как прикрутить динамическую типизацию не знаю(( Уже читаю исходники clojure
Добавлено через 15 секунд А потом бы все от него наследовал
0
|
|
|
393 / 165 / 32
Регистрация: 10.12.2015
Сообщений: 717
|
|
| 25.02.2016, 14:39 | |
|
Я уже говорил тебе надо таскать типы вместе с данными. Например, базовый класс NewCoolLispObject должен иметь поле с данными о типе и поле содержащее указатель на данные. Его типы могут быть только двух значений по стандарту CLHS, это atom или not atom, либо же cons и not cons, т.к. atom это все что не cons. Его наследники содержат свое поле для типа. например, если это клaсc наследник типа atom, то его типы могут быть такие как number, symbol, character, lambda. В свою очередь у наследников типа number может быть тип integer, floating, rational, complex. И так далее. Для начала нарисуй на бумаге дерево иерархии типов. Проверку типа можно осуществлять дедовым способом — битовой маской. Тебе не мешало бы досконально проработать sicp, книга завершается интерпретатором scheme.
1
|
|
|
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
| 25.02.2016, 14:40 [ТС] | |
|
cyber-satyr, вот sicp я не читал -> время пришло
0
|
|
| 25.02.2016, 14:40 | |
|
Помогаю со студенческими работами здесь
11
Randome number в функции Expecting variable or number Number of days in a year Number of days in a year Given natural number n. Calculate expression Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|