Форум программистов, компьютерный форум CyberForum.ru

Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
24.02.2009, 23:20     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #1
У меня такое задание:
Написать программу, которая демонстрирует выполнение операций с 12-разрядными
двоичными числами. Аргументы операций задаются в двоичном виде с помощью двух
рядов кнопок – одна кнопка соответствует одному биту аргумента. Операция выбирается
из выпадающего списка. Реализовать следующие операции: ADD, SUB, AND, OR, XOR.
Организовать, также, показ аргументов и результата выполнения операции в виде текста
следующего вида:
0101 0000 1001
AND
1110 0110 1111
Equals
0100 0000 1001
Требуется написать диалоговое MFC-приложение.
Программирую на C++.
В общем, я даже не представляю, как это можно сделать в консоли, не говоря об MFC.
Преподаватель сказал, что нужно создать ряд кнопок, какого вида я не представляю, под ним Combo Box, для выбора операции и т.д. Что за ADD, SUB, AND, OR, XOR затруднился ответить даже он.
Если кто-нибудь знает, как это сделать, подскажите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2009, 23:20     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами
Посмотрите здесь:

C++ Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами.
C++ Арифметические операции с двоичными числами
Выполнение действий с двоичными векторами C++
Написать программу, которая запрашивает размерность двумерного массива, заполняет его случайными числами от 5 до 15 и находит максимальный элемент в м C++
C++ Написать программу, которая создает двумерный массив со случайными числами A[N,M]. Вычислить сумму и число положительных элементов массива
C++ работа с 64-разрядными числами в 32-разрядной системе
C++ Разработать класс MyMath, обеспечивающий выполнение операций сравнения над двумя вещественными числами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Humanitis
 Аватар для Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
24.02.2009, 23:39     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #2
ADD-сложение
SUB-вычитание
AND-логическое И
OR-логическое ИЛИ
XOR-исключающее ИЛИ
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.02.2009, 00:53     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #3
C++
1
2
3
4
5
6
7
8
9
10
 
#include <stdio.h>
 
/* примеры операций с битами */
main()
{
    printf("120 - 8 = %d\n", 120 & ~(1 << 3));
    printf("5 bits of 120 = %d\n", 120 & ~(~0 << 5));
    return 0;
}
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
26.02.2009, 00:21  [ТС]     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #4
Я думаю что побитовые операции здесь не подойдут.
Можно привести пример с
"AND-логическое И
OR-логическое ИЛИ
XOR-исключающее ИЛИ"
Если со сложением и вычитанием понятно, то с этими операциями не знаю.
В условии сказано про12-разрядные числа, в примере эти числа разбиты по 4. Там один ряд понимать как одно число или разные? И каким видом кнопки это иожно представить при реализации в MFC?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.02.2009, 01:10     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #5
побитовые операции ещё называют поразрядными
12-разрядное число, это 12-битное число
тебе надо, чтобы кнопка запускала функцию, которая выполняет операцию
12-разрядное число можно хранить в 16-разрядном или 32-разрядном, то есть хватит unsigned short int
можно хранить по памяти, а можно выделить подмножество бит с помощью битовых полей

Код
struct {
    unsigned int num : 12;
} s;
& - побитовое И
| - побитовое ИЛИ
^ - побитовое исключающее ИЛИ
~ - побитовое НЕ
Humanitis
 Аватар для Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
26.02.2009, 10:15     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #6
Если будешь хранить 12битное число в 16 или 32битном. То после каждой операции делай зануление старших бит.
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
10.03.2009, 00:49  [ТС]     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #7
Попробовал сделать это со структурой – выводит числа, но не в двоичном коде, но результат вроде верный.
Как сделать, чтобы выводилось в двоичном коде?
И как при реализации в MFC сделать, чтобы при нажатии кнопки, значение какой-нибудь переменной менялось на 1, если значение 0, и на 0, если 1?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.03.2009, 01:02     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #8
значение какой-нибудь переменной менялось на 1, если значение 0, и на 0, если 1?
C
1
2
3
4
5
/* ChangeFlag:  меняет значение флага */
void ChangeFlag(void)
{
    flags.section = flags.section != 1;
}
Как сделать, чтобы выводилось в двоичном коде?
11111111 разделяешь на 1111 1111 с правой стороны
1111 == 0xF
1111 == 0xF
значит
11111111 == 0xFF

Например:
число 25, переводим в 16ричную, 16+9 == 0x19
0x19 == 0001 1001
значит
25 == 11001
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2009, 10:47     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами
Еще ссылки по теме:

Разработать класс MyMath, обеспечивающий выполнение операций сравнения над двумя вещественными числами C++
C++ Класс MyMath обеспечивающий выполнение операций сравнения над двумя вещественными числами
C++ Выполнение арифметические действи над двоичными, восьмеричными или шестнадцатеричными числами (по блок-схеме)
C++ Написать программу для работы с двоичными числами (сумма, вычитание, умножение и деление)
C++ Составить описание класса выполнение операций над натуральными числами в двоичной системе счисления

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
17.03.2009, 10:47  [ТС]     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами #9
Спасибо, вы очень помогли.
Yandex
Объявления
17.03.2009, 10:47     Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами
Ответ Создать тему
Опции темы

Текущее время: 06:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru