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

Побитовые операции - C++

Восстановить пароль Регистрация
 
makc101
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 9
12.05.2011, 00:17     Побитовые операции #1
Задание: Дано целое неотрицательное число. Определить количество
составляющих его шестнадцатеричных цифр, содержащих в
двоичном представлении равное количество нулей и единиц
(например, 3, 5 и др.).
Дайте кусок кода или подскажите как сделать. Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 00:17     Побитовые операции
Посмотрите здесь:

побитовые операции C++
побитовые операции C++
C++ Побитовые операции
Побитовые операции C++
C++ побитовые операции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eXXXXXXXXXXX
30 / 30 / 3
Регистрация: 24.02.2011
Сообщений: 126
12.05.2011, 00:44     Побитовые операции #2
разбираешь числа с младшего разряда по 4 бита, если a,b,c,d -биты, то если ((d|c)&(b|a))^((d&c)|(b&a))==1 , то в двоичном представлении равное количество нулей и единиц
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
12.05.2011, 02:00     Побитовые операции #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int N, S, K = 0;
    scanf( "%i", &N );
    while ( N )
    {
        S = ( N & 1 ) + ( ( N >> 1 ) & 1 ) + ( ( N >> 2 ) & 1 ) + ( ( N >> 3 ) & 1 );
        K += ( S == 2 )
        N >>= 4;
    }
    printf( "Count = %i\n", K );
    
    return 0;
}
makc101
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 9
12.05.2011, 07:12  [ТС]     Побитовые операции #4
Спасибо всем за помощь!
Yandex
Объявления
12.05.2011, 07:12     Побитовые операции
Ответ Создать тему
Опции темы

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