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

Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными) - C++

Восстановить пароль Регистрация
 
murcha86
124 / 42 / 1
Регистрация: 04.11.2011
Сообщений: 237
18.03.2013, 22:09     Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными) #1
Как подсчитать кол-во парных нулевых битов, расположенных строго между единичными?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 22:09     Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными)
Посмотрите здесь:

Количество нулевых битов C++
C++ Поразрядные операции (В массиве целых чисел подсчитать среднее арифметическое тех элементов, что содержат четное число битов не равных 1)
C++ Функции. побитовые операции. Написать функцию, которая для заданного целого числа Х вычисляет количество единичных битов в этом числе
Написать функцию, которая для заданого целого числа Х вычисляет количество пар (расположенных друг за другом) нулевых битов в этом числе C++
Побитовые операции в Си. Изменение отдельных битов числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SDev
43 / 41 / 10
Регистрация: 15.03.2013
Сообщений: 88
19.03.2013, 04:59     Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными) #2
логическим умножением обнуляем ненужные биты и сравниваем с тестовой величиной:

C
1
2
3
4
5
6
short n; /* проверяемая переменная */
short mask=0x0f;  /* 00001111 */
short test=0x09;/* 00001001 */
 
if( test == n & mask ) printf("true");
else printf("false");
murcha86
124 / 42 / 1
Регистрация: 04.11.2011
Сообщений: 237
20.03.2013, 22:32  [ТС]     Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными) #3
Всеравно не дошло ... В консольном приложенийй (С++) вводим числа, на выходе считаем кол-во парных нулевых битов, расположенных строго между единичными.
SDev
43 / 41 / 10
Регистрация: 15.03.2013
Сообщений: 88
21.03.2013, 03:55     Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными) #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
void main(void)
{
int mask=9; //00001001 маска искомой последовательности
int num;
int i,count;
int bitesize=4*8;
cout<<"input number:"<<endl;
cin>>num;
count=0;
 
for(i=0;i<bitesize;i++)
{
 if( (num&0x0f) == mask ) count++; // берем последние 4 бита числа
 num=num >> 1; //двигаем побитно
}
 
cout<< "number of pairs:" << count;
}
Yandex
Объявления
21.03.2013, 03:55     Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными)
Ответ Создать тему
Опции темы

Текущее время: 20:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru