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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
murcha86
124 / 42 / 1
Регистрация: 04.11.2011
Сообщений: 237
#1

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

18.03.2013, 22:09. Просмотров 453. Ответов 3
Метки нет (Все метки)

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

Подсчитать количество нулевых элементов в массиве C++
Количество нулевых битов C++
C++ Подсчитать количество нулевых елементов
C++ Функции. побитовые операции. Написать функцию, которая для заданного целого числа Х вычисляет количество единичных битов в этом числе
Написать функцию, которая для заданого целого числа Х вычисляет количество пар (расположенных друг за другом) нулевых битов в этом числе C++
Побитовые операции в Си. Изменение отдельных битов числа C++
Найти количество нулевых элементов, расположенных выше главной диагонали C++
C++ Найти количество нулевых элементов массива, расположенных на четных позициях
C++ Подсчитать количество нулевых элементов массива, расположенных над и под главной диагональю
Побитовые операции. Инверсия нечетных битов 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     Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными)
Ответ Создать тему
Опции темы

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