Форум программистов, компьютерный форум 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++ Builder Ошибка конвертирования: is not a valid integer value бьет ошибку is not a valid integer value, но не показывает где пошагаво не помогает найти! Помогите плз //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <math.h> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) подробнее

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

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

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