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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рандомные значения http://www.cyberforum.ru/cpp-beginners/thread1152450.html
Есть прога. Хочу если пользователь ввел в строке элементы n или x, то они заменились. Но прога не работает. В чем ошибка?(Например при вводе NDRF6xnx выводилось NDRF67H9 ) код :#include <cstdlib> #include<iostream> #include <ctime> #include <string> using namespace std; char RandomNum() { int lower = 2, upper = 9, val;
C++ Исправить ошибки Помогите пожалуйста исправить следующие ошибки: Ошибка 1: Error 2 error LNK2019: unresolved external symbol "void __cdecl Task_5(struct NODE *)" (?Task_5@@YAXPAUNODE@@@Z) referenced in function _main Ошибка 2: Error 3 error LNK1120: 1 unresolved externals Код программы: #include "stdafx.h" #include <iostream> #include <string> #include "cmath" #include "conio.h" using namespace std; 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 | ios_base :: binary); if (!m_f) return false; m_name = new char ; strcpy_s(m_name, strlen(name)+1, name); setA ();
C++ Определить сумму цифр положительного числа http://www.cyberforum.ru/cpp-beginners/thread1152437.html
в школе дали задание на каникулы Дано положительное целое число. Требуется определить сумму его цифр. необходимо определить и использовать рекурсивную функцию Вход. данные Первая строка: содержит целое число N (1 <= N <= 231 - 1). Выход. данные: Выведите единственное целое число — сумму цифр N.
C++ Путаница с циклом for. Рассчитать сумму банковского вклада Здравствуйте, помогите разобраться. Это задание из книги про ООП С++ Лафоре, программа запрашивает начальную сумму вклада, процентную ставку и ту сумму которую вы хотите получить, программа должна рассчитать за сколько лет накопиться сумма которую вы хотите получить, учитывая начальный вклад и процент. Проблема в том, что программа работает только если нужная сумма получится за 1 год, т.е. вклад... подробнее

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

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

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