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

Как определить сколько единиц в двоичном коде символа? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Комментирование текста с++ http://www.cyberforum.ru/cpp-beginners/thread1047899.html
как закоментировать блок текста в с++. Кроме //.
C++ Посчитать сумму ряда (Начало и n интервала вводит пользователь) Например: если начало интервала 3 и n=4 то программа считает 3+4+5+6=18. http://www.cyberforum.ru/cpp-beginners/thread1047881.html
метод прямоугольников C++
помогите пожалуйста написать код программы. Составить алгоритм и записать программу, которая выполняет итерационной алгоритм метода прямокутникив, с исчислением интеграла к заданной точности e результата. При каждой следующей итерации количество узлов интегрирования n удваивается, а затем новый результат сравнивается с результатом, полученном на предыдущем шаге. Вычисление повторяются, пока...
Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над главной диагональю. Ввод,вывод,сумму в виде отдельных процедур C++
Завтра дедлайн, а у меня 2 лабы и начало первого. Прошу помощи.
C++ Сортировка столбцов двумерного массива при помощи функции http://www.cyberforum.ru/cpp-beginners/thread1047872.html
Опишите функцию сортировки элементов линейного массива. С помощью этой функции составьте программу, которая упорядочивает по убыванию элементы столбцов двухмерного массива. Помогите с кодом.
C++ невозможно преобразовать int в int #include <iostream> #include <conio.h> using namespace std; int sum(int arr, int size) { int r = 0; // r - результат for(int i = 0; i < size; i++) { r = r+arr; подробнее

Показать сообщение отдельно
Виктор Яловой
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 15
19.12.2013, 04:06  [ТС]     Как определить сколько единиц в двоичном коде символа?
Цитата Сообщение от abit Посмотреть сообщение
вот придумал вам идиальное решение (с точки зрения алгоритмической сложности лучше не придумать - сложность О(количество единиц в бинарном представлении числа)), вряд ли это возможно сделать с меньшей сложностью
C++
1
2
3
4
5
6
std::size_t F(unsigned long long n)
{
    std::size_t i(0);
    for (;n;++i) n&=n-1;
    return i;
}
Я конечно извиняюсь, но я знаком только с С, С++ только начал изучать.
Можно ли построчно объяснить этот код?
 
Текущее время: 23:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru