0 / 0 / 0
Регистрация: 08.07.2014
Сообщений: 8
|
|
1 | |
Провести операцию эквивалентности над двоичными числами08.07.2014, 09:54. Показов 9534. Ответов 14
Метки нет (Все метки)
Всем привет. Мне нужно провести операцию эквивалентности над двоичными числами. проблема в том, что я не знаю, как написать в С++ операцию эквивалентности
Заранее спасибо
0
|
08.07.2014, 09:54 | |
Ответы с готовыми решениями:
14
Арифметичиские операции над двоичными числами Провести операцию над множествами без использования стандартных алгоритмов Выполнение арифметические действи над двоичными, восьмеричными или шестнадцатеричными числами (по блок-схеме) Найти сумму двух не знаковых чисел, а затем провести операцию побитового «И» над суммой и вторым числом |
0 / 0 / 0
Регистрация: 08.07.2014
Сообщений: 8
|
|
08.07.2014, 10:12 [ТС] | 3 |
в алгебре логики 1 <-->1 = 1
0 <--> 1 = 0 1 <--> 0 = 0 0 <--> 0 = 1 в логике стрелочками обозначается, в с++ не знаю как
0
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
08.07.2014, 10:13 | 4 | |||||
Сообщение было отмечено protoboll как решение
Решение
тыц
1
|
0 / 0 / 0
Регистрация: 08.07.2014
Сообщений: 8
|
|
08.07.2014, 10:16 [ТС] | 5 |
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||||||
08.07.2014, 10:21 | 6 | |||||
Без понятия что там у вас считается эквивалентностью, но например в STL эквивалентность определяется как-то так:
0
|
0 / 0 / 0
Регистрация: 08.07.2014
Сообщений: 8
|
|
08.07.2014, 10:34 [ТС] | 8 |
http://ru.wikipedia.org/wiki/Эквиваленция
вот, просто везде по разному называют, а я привык эквивалентностью называть. хотя я с названием накосячил. там даже написано, что нельзя путать эквивалентность с эквиаленцией мой косяк
0
|
Модератор
8947 / 6713 / 921
Регистрация: 14.02.2011
Сообщений: 23,692
|
|
08.07.2014, 10:53 | 9 |
Сообщение было отмечено protoboll как решение
Решение
так бы и сказал сразу
if(!(a^b)) "Исключающая ИЛИ" она же "XOR" в Си определяется так ^ тебе нужна обратная "не" "инверсия" ! Код
a b ^ !^ 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1
1
|
0 / 0 / 0
Регистрация: 08.07.2014
Сообщений: 8
|
|
08.07.2014, 10:54 [ТС] | 10 |
0
|
0 / 0 / 0
Регистрация: 08.07.2014
Сообщений: 8
|
|
08.07.2014, 10:58 [ТС] | 12 |
не, там надо именно так, как ты выше описал, там сложнее момент будет. долго описывать
0
|
Модератор
8947 / 6713 / 921
Регистрация: 14.02.2011
Сообщений: 23,692
|
||||||
08.07.2014, 11:58 | 13 | |||||
Я ошибся назвав ! инверсией это отрицание, а инверсия это тильда(~)
хотя и то и другое "Не" разница вот в чем возьмем число 5 0000 0101 !5=0 5 это не нулевое значение значит приводится к true !true=false т.е равно 0 логическая операция ~5=-6 0000 0101= 1111 1010 побитовая инверсия так что может тебе нужно
1
|
0 / 0 / 0
Регистрация: 08.07.2014
Сообщений: 8
|
|
08.07.2014, 12:01 [ТС] | 14 |
спасибо, а не подскажешь еще 1 момент. я читаю файл, без разницы какой, и мне нужно разбить его на строки длинной 4 байта. те мне нужен фрагмент разбивающий строку.
0
|
Модератор
8947 / 6713 / 921
Регистрация: 14.02.2011
Сообщений: 23,692
|
|
08.07.2014, 12:09 | 15 |
могу подсказать такой путь
вводишь переменную типа unsigned int и считываешь в неё unsigned int в 32 битных системах как раз 4 байта или чтобы не завязываться на размер int объяви структуру из 4 unsigned char unsigned char как раз по размеру байт
0
|
08.07.2014, 12:09 | |
08.07.2014, 12:09 | |
Помогаю со студенческими работами здесь
15
Выполнить указанную операцию над двумя числами Действия над двоичными числами Создать класс для работы с двоичными числами реализовать в нем операцию сложения, умножения, вычитания Выполнить арифметические операции над двоичными числами с плавающей точкой в дополнительном коде: С=А+В Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |