Форум программистов, компьютерный форум 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; подробнее

Показать сообщение отдельно
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
19.12.2013, 04:21     Как определить сколько единиц в двоичном коде символа?
Цитата Сообщение от Виктор Яловой Посмотреть сообщение
Я конечно извиняюсь, но я знаком только с С, С++ только начал изучать.
Можно ли построчно объяснить этот код?
конечно можно, не вопрос) учите C++
давайте разберём код
первая строчка - std::size_t F(unsigned long long n)
объявляем функцию F, которая возвращает некое значение типа std::size_t (почитайте про него сами, суть - тип, который позволяет возвращать количество чего-то, допустимый в нашей системе, в нашем случае количество единичных бит в битовом представлении числа)
unsigned long long - наиболее длинный тип о котором мне известно под различными платформами, где имеет смысл говорить о битовом представлении, конечно в знаковых тоже имеет смысл говорить, но это совсем другая история

вторая строчка - std::size_t i(0);
тут всё ясно - инициализируем переменную, которую потом возвратим в ответ на вызов F, вызываем конструктор, чтобы её обнулить (на всякий случай, реально - тут это не надо, ибо конструктор по умолчанию обнулит)

третья строчка - for (;n;++i) n&=n-1;
ну это сама суть происходящего, разберите на досуге
если раскрыть в псевдокод (а точнее в паскаль) то будет что-то типа такого:
Delphi
1
2
3
4
5
while(n<>0) do
begin
  n:=n AND (n-1);
  inc(i);
end;
в общем это суть моей идеи) разберитесь и всё будет ясно
 
Текущее время: 22:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru