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

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

Войти
Регистрация
Восстановить пароль
 
mrd
1 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 22
#1

Поразрядные операции - C++

23.11.2011, 18:00. Просмотров 527. Ответов 1
Метки нет (Все метки)

Даны два int-числа: N1 = ABCD и N2 = EFGH, где AB…GH – 16 – ричные цифры. Образовать long-число DEGHDABF, используя только поразрядные операции. В подчеркнутых цифрах вычислить количество битов ‘1’.
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
long num(int n1, int n2);
 
int main()
{
        int n1, n2;
        long n;
        printf("Input two numbers n1 and n2: \t");
        scanf("%x%x", &n1, &n2);
        n = num(n1, n2);
        printf("n = %lx\n", n);
        getch();
        return 0;
}
 
long num(int n1, int n2)
{
        long n=0x0, AB, D, E, GH, F;
        AB = (n1 >> 8) & 0xFF;
        D = n1 & 0xF;
        E = (n2 >> 12) & 0xF;
        F = (n2 >> 8) & 0xF ;
        GH = (n2 & 0xFF);
        n = n | (D << 4*7);
        n = n | (E << 4*6);
        n = n | (GH << 4*4);
        n = n | (D << 4*3);
        n = n | (AB << 4);
        n = n | F;
        return n;
}
Число я нашел. Как посчитать количество битов = 1 в подчеркнутом числе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2011, 18:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поразрядные операции (C++):

поразрядные операции - C++
помогите пожалуйста решить следущую задачу: даны два int-числа: N1 = АBCD и N2 = EFGH, где AB…GH – 16-ричные цифры, ПОп –...

Поразрядные операции - C++
Помогите пожалуйста доделать программу, :даны два int числа: N1 = ABCD и N2 = EFGH, где AB…GH – 16 – ричные цифры. Образовать long число...

Поразрядные операции - C++
Написать функцию, которая в числе x устанавливает 0 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.

поразрядные операции - C++
Народ, помогите пожалуйста решить задачу. Задание на скрине. Заранее спасибо.

Поразрядные операции - C++
Обьясните пожалуйста работу поразрядных операций (&amp;, |, ^, &lt;&lt;, &gt;&gt;, ~). Например, n=n&amp;0177; - обнуляет все биты переменной N, кроме младших...

Поразрядные операции - C++
Запрограммировать изменение четырехбайтного числа (unsigned int) так, чтобы байт последовательно заполнялся сначала единицами, а затем...

1
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
23.11.2011, 18:16 #2
вес числа находится так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
int w(int n) {
 
int c=0;
while (n) {
 
if (n&1)
c++;
 
n>>=1;
}
 
return c;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2011, 18:16
Привет! Вот еще темы с ответами:

Поразрядные операции - C++
Здравствуйте. Объясните, пожалуйста, есть задача: выполнить поразрядное «или» 0-5 разрядов В и 0-3 разрядов С, сдвинутых вправо на 2...

Поразрядные операции - C++
Есть 16-е число, например N=0xC5D612F7, помогите убрать единицу в старшем бите у C и F, используя поразрядные операции на языке Си. Я даже...

Поразрядные операции (&,|,^) - C++
Здравствуйте! Объясните мне начинающему тогодуму как тут получается на выходе , а то я что-то не соображу #include &lt;iostream.h&gt; ...

Поразрядные операции, получение максимального числа - C++
Добрый вечер, помогите написать. В задаче даны два int-числа: N1 = АBCD и N2 = EFGH, где AB…GH – 16-ричные цифры, ПОп – Поразрядная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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