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

Количество нулей в 32 разрядном слове - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа, определяющая количество чисел, кратных данному http://www.cyberforum.ru/cpp-beginners/thread406855.html
Прошу помочь новичку найти ошибку, т.к. после ввода числа ничего не происходит. #include<conio.h> #include<iostream.h> #include<math.h> int main () { int chislo, schetchik; ...
C++ Написать программу, использующую 5 макроподстановок Написать программу, использующую 5 макроподстановок. http://www.cyberforum.ru/cpp-beginners/thread406846.html
Как найти сумму чисел в строке? C++
Как найти сумму чисел в строке???не через функции, через char??
VCL -> Data Access C++
Здравствуйте! Помогите пожалуйста с основными функциями данного раздела. Какая функция, за что отвечает, как работает и т.д. Буду очень признателен.
C++ Задача с палиндромами. http://www.cyberforum.ru/cpp-beginners/thread406819.html
“ПАЛИНДРОМЫ”. Палиндромом называют слово, которое читается одинаково как слева направо, так и справа налево, например, “ABBA” и “1991” - палиндромы. Написать программу, которая, запросив у...
C++ ожидание нажатия пробела Добрый вечер, а может уже и ночь, помогите кому не лень, программа должна выполнять свою работу( в моем случае она издает сигналы кода морзе), и при нажатие пробела остановиться. getch() - в данном... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.12.2011, 01:52
"Мета" вариант решения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
 
namespace Implementation
{
   template<unsigned value, unsigned mask>
   struct NumberOfZeroBitHelper
   {
   private:
      static const bool IsZeroBit = (value & mask) == 0;
   public:
      static const size_t Value = IsZeroBit + NumberOfZeroBitHelper<value, mask << 1>::Value;
   };
   
   template<unsigned value>
   struct NumberOfZeroBitHelper<value, 0>
   {
      static const size_t Value = 0;
   };
}
 
template<unsigned value>
struct NumberOfZeroBit
{
   static const size_t Value = Implementation::NumberOfZeroBitHelper<value, 0x1>::Value;
};
 
int main() { 
 
   std::cout << NumberOfZeroBit<0>::Value << " " 
             << NumberOfZeroBit<1>::Value << " " 
             << NumberOfZeroBit<2>::Value << " " 
             << NumberOfZeroBit<3>::Value << std::endl;
}
Цитата Сообщение от Vidok Посмотреть сообщение
Куда здесь можно прилепить assert?
Пожалуй, некуда да и не за чем.
Цитата Сообщение от Vidok Посмотреть сообщение
А где можно почитать подробно и разобраться?
В любой книге по Си/C++ в разделе битовые операции.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru