Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
_HopE_
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 4
1

Вывести все десятичные числа, в двоичной записи которых число нулей на 2 превосходит число единиц

08.06.2014, 17:50. Просмотров 515. Ответов 1
Метки нет (Все метки)

Есть вот такая прога на Си, которая выводит все десятичные числа, в двоичной записи которых число нулей на 2 превосходит число единиц.
Объясните, пожалуйста, что происходит при открытии этого цикла for (j = sizeof(int) * 8 - 1; j >= 0; j--) и что означает это условие if (((i & (1 << j)) != 0) && (flag == 0)) ?

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
#include <stdio.h>
#include <conio.h>
 
main()
{
    int i, ones, zeroes, j, lastbit, flag;
    
    for (i = 300; i <= 799; i++)
    {
        lastbit = 0;
        ones = 0;
        zeroes = 0;
        flag = 0;
        for (j = sizeof(int) * 8 - 1; j >= 0; j--)
          if (((i & (1 << j)) != 0) && (flag == 0))
          {
             lastbit = j;
             flag = 1;
          }
        for (j = lastbit; j >= 0; j--)
          if ((i & (1 << j)) != 0)
            ones++;
          else
            zeroes++;
        if (zeroes - ones == 2)
           printf("%d ", i);
    }
    getch();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 17:50
Ответы с готовыми решениями:

Вывести все десятичные числа, в двоичной записи которых число нулей на 2 превосходит число единиц
Доброго времени суток! Долго уже мучаюсь с задачкой, для которой необходимо написать код на Си,...

Вывести десятичное простое число, в двоичной записи которого наибольшее число единиц
Привет всем! Помогите, пожалуйста. Суть задачи: На вход с клавиатуры программа получает N На...

Найти такое число в двоичной записи которого содержится минимальное число нулей
Среди простых чисел, не превосходящих заданного N, найти такое, в двоичной записи которого...

Найти такое число в двоичной записи которого содержится минимальное число нулей
Среди простых чисел, не превосходящих заданного N, найти такое, в двоичной записи которого...

Дано натуральное число N. Получить новое число, удалив из записи числа все чётные цифры
Помогите,пожалуйста,написать программу на Си. Задание: Дано натуральное число N. Получить новое...

1
Tchikh
50 / 70 / 20
Регистрация: 23.01.2013
Сообщений: 273
08.06.2014, 18:05 2
С помощью этого цикла и условия производится поиск первого ненулевого бита в числе i.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 18:05

Вывести все натуральные числа, не превосходящие N, в двоичной записи которых К единиц
помогите пожалуйста!!!! На вас одна надежда!!! Сессия горит

Среди простых чисел найти те, в двоичной записи которых максимальное число единиц
среди простых чисел не превосходящих N найти такие в двоичной записи которых максимальное число...

Найти число в двоичной записи которого максимальное число единиц
Среди простых чисел ,не превосходящих N ,найти такое ,в двоичной записи которого максимальное...


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

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

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