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

Битовая операция "ИЛИ" эквивалентна операции сложения для двух целых чисел? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рандомные значения http://www.cyberforum.ru/cpp-beginners/thread1152450.html
Есть прога. Хочу если пользователь ввел в строке элементы n или x, то они заменились. Но прога не работает. В чем ошибка?(Например при вводе NDRF6xnx выводилось NDRF67H9 ) код :#include <cstdlib>...
C++ Исправить ошибки Помогите пожалуйста исправить следующие ошибки: Ошибка 1: Error 2 error LNK2019: unresolved external symbol "void __cdecl Task_5(struct NODE *)" (?Task_5@@YAXPAUNODE@@@Z) referenced in function... http://www.cyberforum.ru/cpp-beginners/thread1152443.html
Для чего используется "{}" (слитно) в С++? C++
например: Triangle(double A, double B, double C) : Triad(A, B, C) {}
C++ Из файла необходимо прочитать записи, установить ключи, позиции и количество записей
Из файла необходимо прочитать записи, установить ключи, позиции и количество записей это делаю вот так bool CMyFile :: open (const char* name) { m_f.open (name, ios_base :: in | ios_base :: out...
C++ Определить сумму цифр положительного числа http://www.cyberforum.ru/cpp-beginners/thread1152437.html
в школе дали задание на каникулы Дано положительное целое число. Требуется определить сумму его цифр. необходимо определить и использовать рекурсивную функцию Вход. данные Первая строка:...
C++ Путаница с циклом for. Рассчитать сумму банковского вклада Здравствуйте, помогите разобраться. Это задание из книги про ООП С++ Лафоре, программа запрашивает начальную сумму вклада, процентную ставку и ту сумму которую вы хотите получить, программа должна... подробнее

Показать сообщение отдельно
AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 533
21.04.2014, 01:15
Цитата Сообщение от Supernatural Посмотреть сообщение
ИЛИ подразумевается выбор одного из двух чисел, сложение же операцию И.
почитай булевую математику.
Сами-то её читали - ИЛИ, иначе - дизъюнкция, собственно - логическое сложение. Тогда как И, иначе - конъюнкция - логическое умножение.

А по теме, нет. Не эквивалентна. Побитовое ИЛИ: название говорит само за себя - результат есть набор бит, где каждый из них есть дизъюнкция соответствующих битов операндов. Сложение - более сложная операция, так как в случае, если два бита в каком-то разряде одинковы, происходит переполнение разряда: инкремент следующего и обнуление текущего. Так что это разные операции, хотя чем-то они всё же похожи.

Небольшое лирическое отсутпление: если внезапно возник вопрос, а на кой они чёрт, то вот ответ: есть такие перменные - маски. Для экономии места в эру динозавров однобитовые флаги склеивали в один аргумент - dwFlags, например (где dw - double word - двойное слово - два байта - шестнадцать бит - до шестнадцати флагов). Собственно, в наш современный век, когда на питонах и джавах пишут игры и многомиллионные сервисы, такая дикость уже не сильно требуется, но как дань уважения тем динозаврам, что создали столь монструозный язык, в новых редакциях эту операцию всё же предпочитают оставить. Но вообще, можно ведь и складывать флаги - суть та же (ибо флаги - разряды и так разные, а для переменных, где единицы стоят на разных позициях - операции дают всё же одинаковый вариант, но НЕ всегда). Ну тут снова проблема в том, что в те времена ИИ ещё не был создан и компьютер сам не мог понять, что ему быстрее, как и когда делать, он был глуп и выполнял всё не отступая от кода ни на шаг. Сегодня же, везде где надо, компилятор сам сообразит как лучше. Да и разница между побитовым сложением и обычным сложением нет никакой. Абсолютно никакой.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru