![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Mirexq |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.5.2006 Репутация: нет Всего: нет |
Здравствуйте, ребята! Сейчас готовлюсь к написанию курсовой работы по теме "Арифметические и логические операции в двоичной системе исчисления" на языке С++. Стоит задача ввести два числа в двоичном виде, сделать необходимые операции над ними ( + , - , / , * , > , < , AND , NOT , OR , XOR) и вывести результат тоже, соответственно, в виде двоичного числа.
Поскольку я имею небольшой опыт в программировании, то очень рад буду услышать (прочесть Если у кого-то имеются какие-то коды, обрезки, отрывки по данной теме, прошу выкладывать. Буду ооооочень благодарен Да, и если возможно |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
2-ая система счисления - такая же как и 10-ая только по основанию 2
что касается реализации
если кол-во бит известно заранее можно исп-ть статические массивы и шаблоны -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: 2 Всего: 40 |
Mirexq
Тут так с кандочка не скажешь. Вообще MAKCim написал то, как стоило бы делать. ты поясни что именно не понятно или вопросы конкретизирую. -------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| Mirexq |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.5.2006 Репутация: нет Всего: нет |
Тут, значит, возникает вопрос следующий: есть ли в Срр тип данных, который позволяет работать непосредственно с двоичными кодами. Никак не могу понять как прибавить два двоичных числа, потому что указываю их как int.
Если же задаю числа как сhar, с помощью strtol перевожу из строки в число. Далее нужно сделать арифмет операцию. Как? Ведь число я задаю как int. Вообщем, что-то я запутался и не вижу четкого алгоритма выполнения. Преполагаю вводить нолики и единички в int-число, далее с помощью BinToDec (наверное, буду использовать ф-цию itoa) перевожу в десятич. Тут выполняю арифметические операции, а потом точно также иду обратно. Нету ли пути попроще, чем данный (к дедушке через бабушку)? Как быть с логическими операциями? Спасибо |
|||
|
||||
| MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
диапозон чисел будет маленьким - 8-9 разрядов
опять таки будешь ограничен int-ом смотри, не надо никуда ничего переводить, задаешь число const char*-ом или string-ом все операции делаешь над двоичными числами без перевода
для удобства все биты засовываешь в vector<char> (пост выше) лог операции над двоичными числами проще простого -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |