|
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
|
|
Арифметические операции с двоичными числами22.03.2011, 18:48. Показов 17223. Ответов 34
Метки нет (Все метки)
Вопрос такой.
Вот задание: Двоичные числа (разбор строки, формирование строки, операции сложения, вычитания, разные варианты вывода строки). 1. Создать программный класс (или несколько связанных классов) на языке С++, которые реализуют заданные алгоритмы / функции (по вариантам). В классах реализовать конструкторы (деструкторы), инкапсуляцию (сокрытие закрытых атрибутов через методы доступа), по возможности – открытые и закрытые методы обработки, перегрузку операторов, реализовать абстрактный класс на базе обычного, выделить интерфейс и др. Может ли кто то мне помочь понять, что же я должен сделать. Вплане двоичных чисел. Это двоичный калькулятор или что? Что такое разбор строки. Кто будет классом и где инкапсуляция? Совсем чайник. Помогите пожалуйста. Код не надо, а именно концептууально, алгоритмически на примере.
0
|
|
| 22.03.2011, 18:48 | |
|
Ответы с готовыми решениями:
34
Выполнение арифметические действи над двоичными, восьмеричными или шестнадцатеричными числами (по блок-схеме) Арифметичиские операции над двоичными числами
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 22.03.2011, 19:52 | |
|
Двоичные или двоично-десятичные числа?
Задано ли ограничение на длину числа? Сложение вычитание реализовать достаточно просто. Умножение и деление намного сложнее. Задача не однозначна. Либо это просто числа в строке вида "100101101", либо очень большие числа, превышающие размер регистра. В первом случае почитай про то, как происходит сложение целых чисел. Реализация тривиальна. Во втором - тоже гугли. Но будет оч сложно.
0
|
|
|
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
|
|
| 22.03.2011, 20:06 [ТС] | |
|
По простому варианту.
Я понимаю сложение и вычитание я не понимаю что надо делать.
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 22.03.2011, 20:09 | |
|
Для сложения:
1. Создать строку на один символ больше, чем самая длинная из двух складываемых строк; 2. Справа-налево читать символы в строках и суммировать. 3. Не забывать про перенос единицы.
0
|
|
|
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
|
|
| 22.03.2011, 20:18 [ТС] | |
|
Вот это что такое:
1. Создать программный класс (или несколько связанных классов) на языке С++, которые реализуют заданные алгоритмы / функции (по вариантам). В классах реализовать конструкторы (деструкторы), инкапсуляцию (сокрытие закрытых атрибутов через методы доступа), по возможности – открытые и закрытые методы обработки, перегрузку операторов, реализовать абстрактный класс на базе обычного, выделить интерфейс и др.
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||||||
| 22.03.2011, 20:27 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
|
|
| 22.03.2011, 21:10 [ТС] | |
|
Я читал основы ООП. Я не могу понять как тот же пример сложения двоичных чисел с этим связать.
0
|
|
|
Программист
119 / 97 / 11
Регистрация: 22.03.2011
Сообщений: 244
|
|
| 23.03.2011, 10:31 | |
|
Возьми, для примера, класс комплексных чисел из stl и разбери его.
Там есть всё: и инкапсуляция и перегрузка и шаблоны... По его подобию и разработай свой класс...
1
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 23.03.2011, 11:02 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
|
|
| 24.03.2011, 18:45 [ТС] | |
|
Так что же делать?
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 24.03.2011, 19:07 | |
|
0+0 = 0
0+1 = 1 1+0 = 1 1+1 = 0 (и перенос единицы в следующий разряд)
0
|
|
| 24.03.2011, 19:24 | |
|
А точно требуется всю эту двоичную арифметику реализовывать собственными силами? В задании четко об этом вроде не сказано.
Просто можно ввод и вывод осуществлять в виде строки, а сами значения в классе хранить в виде int или __int64 (ну опять же, если такое ограничение устраивает). И все операции выполнять с целыми числами. Ну, естественно, отслеживать регистр флагов. Так проще, мне кажется.
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 24.03.2011, 19:30 | |
|
На С++ нет доступа к регистру флагов. На asm можно...
0
|
|
| 24.03.2011, 19:39 | |||||||
0
|
|||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||||||
| 24.03.2011, 19:46 | ||||||
|
Тогда уж сразу
0
|
||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||||||
| 24.03.2011, 20:07 | ||||||
|
Даже так, пожалуй.
Добавлено через 44 секунды А вобще, что там куда прибавляли, я даже не посмотрел.))) eax не регистр флагов.) Добавлено через 39 секунд Какую-то ерунду вообще написали... я...
0
|
||||||
| 24.03.2011, 20:13 | ||||||
И почему не решение проблемы? Возиться с двоичной арифметикой проще? Реализовывать тот же самый регистр флагов, пусть и не в полнои объеме.
0
|
||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 24.03.2011, 20:16 | |
|
0
|
|
| 24.03.2011, 20:17 | |
|
Не по теме: Чет это уже оффтоп
0
|
|
| 24.03.2011, 20:17 | |
|
Помогаю со студенческими работами здесь
20
Длинная арифметика: арифметические операции над числами
С помощью операторов выбора реализовать арифметические операции над двумя числами Структуры: арифметические операции (сложение, вычитание, умножение, деление) над комплексными числами 15. Создать класс LongLong для работы с целыми числами. Число должно быть представлено двумя полями.Реализовать арифметические операции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|