Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выход за предел массива https://www.cyberforum.ru/ cpp-beginners/ thread631479.html
Здравствуйте, меня заинтересовала одна особенность массивов, а именно то что они не проверяются на количество элементов, из этого исходит то что с их помошью мы можем изменить/инициализировать...
Union с явными указателями или void*- что выбрать? C++
В программе предполагается использование огромного количества указателей типа void*, по которым будут хранится объекты типов А и Х. Т.о. при обращении будет использоваться явное приведение типа...
Eclipse C++ библиотеки C++
Компилятору не нравится объявление библиотеки #include <iostream> Можно ли как то это исправить? компилятор >> eclipse-cpp-helios
C++ НОЧД и НОНД(задача) Здравствуйте! Тут на одном сайте задача есть: Для двух данных натуральных чисел найдите их наибольший четный и наибольший нечетный делители. Входные данные Вводятся два натуральных числа,... https://www.cyberforum.ru/ cpp-beginners/ thread631411.html
C++ Указатель на объект.объясните https://www.cyberforum.ru/ cpp-beginners/ thread631402.html
base - это базовый класс...first - это производный от base...iam() виртуальная функция, перегруженная в first... Вопрос: почему вызывается функция базового класса, а не first?.. #include <iostream>...
C++ GetModuleFileNameEx ошибка
#include <iostream> #include <windows.h> #include <time.h> #include "main.h" #pragma comment(lib,"Psapi") using namespace std; //global ULONG crc_tab;
C++ Отсортировать по возрастанию элементы массива
1)Дан массив целых чисел из 10 элементов отсортировать по возрастанию. 2)Дан действительный массив A.Напечатать индекс его отрицательных элементов. помогите пожалуйста написать программу на С++
C++ Перевод программы с Pascal на С++ uses crt; var i :integer; BEGIN ClrScr; Write('Результат: '); for i := 20 to 50 do if (i mod 3 = 0) and (i mod 5 <> 0) then Write(i, ' '); Readln; END. https://www.cyberforum.ru/ cpp-beginners/ thread631389.html
C++ Квадратные уровнения https://www.cyberforum.ru/ cpp-beginners/ thread631379.html
помогите написать код. программа должна: решить квадратное уравнение по трем коэффициентам. даны a, b и c напишите как можно это реализовать.
C++ Рекурсия: нахождение биномиальных коэффициентов В общем нужно вывести биноминальные коэффициенты последовательности.... т.е есть последовательность - скажем вектор 12345 n = size = 5 k - пусть равен 2 тогда результатом должны быть все... https://www.cyberforum.ru/ cpp-beginners/ thread631373.html
3050 / 1455 / 492
Регистрация: 29.11.2010
Сообщений: 2,888
01.08.2012, 16:17 0

Сложение двоичных чисел, представленных в bitset

01.08.2012, 16:17. Просмотров 3986. Ответов 5
Метки (Все метки)

Ответ

Как насчет битовых операций?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template <size_t N>
std::bitset<N> sum (const std::bitset<N>& b1, const std::bitset<N>& b2) {
    std::bitset<N> result;
    char carry = 0;
    for (size_t i = 0 ; i < N ; ++i) {
        // упрощенное от (b1 | b2 | carry) & (!carry | (b1 & b2 & carry))
        result[i] = (b1[i] ^ b2[i]) ^ carry;
        carry = (b1[i] & b2[i]) | ((b1[i] ^ b2[i]) & carry);
        std::cout << "[" << i << "] " << b1[i] << " " << b2[i] << " -> " <<
          result[i] << " (" << static_cast<int>(carry) << ")" << std::endl;
    }
    //if (carry) {
      // тут еще можно на overflow проверить
      //std::cout << "Warning: Operation overflow." << std::endl;
    //}
    return result;
}


Вернуться к обсуждению:
Сложение двоичных чисел, представленных в bitset
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.08.2012, 16:17
Готовые ответы и решения:

Сумма двоичных чисел, представленных массивами
Ребят, помогите понять, что не так. Задача просуммировать 2 массива двоичных чисел. На посленей...

Сложение двоичных чисел
Ввести два действительных двоичных числа, представленных как символьные строки, и найти их сумму. ...

Сложение двоичных чисел
Здравсвуйте! Даны два массива: int a = {1, 0, 0, 1}; // двоичное число 1001 int b = {0, 1,...

Сложение 2-х целых двоичных чисел, хранящихся в массивах A и B
Задачка из Кормена. Результат записать в массив С. Написал, что-то вроде: int main() { int...

5
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.