С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Битовые операции. Сдвиг вправо и взятие остатка от деления - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как в Visual Studio свернуть сразу все блоки кода? http://www.cyberforum.ru/cpp-beginners/thread990309.html
Как в Visual Studio свернуть сразу все блоки кода? Может, есть какая-то комбинация клавиш?
C++ Неправильно работает таймер SDL_AddTimer Бобры появляются каждые 2 секунды. Через 6 секунд срабатывает таймер и они появляются в 2 раза быстрее. Если все жизни вышли, таймер должен удаляться, а время отображения становиться опять 2... http://www.cyberforum.ru/cpp-beginners/thread990305.html
C++ Как работает калькулятор?
100500-й раз задаю вопрос про этот калькулятор. Возможно, сам виноват - формулировал неточно. Ну, так вот: пожалуйста, опишите на примере введённого выражения (например) 21 + 3* 12 (с сохранением...
Перепишите пожалуйста код с языка Pascal на C++ C++
Вот сам код. {$N+} uses crt; const nmax=60; function Step2(n:byte):extended; var p:extended; i:byte; begin p:=1;
C++ Даны два класса: ellipse и circle http://www.cyberforum.ru/cpp-beginners/thread990282.html
Помогите решить пожалуйста!Да,я чайник.. :( Даны два класса: ellipse и circle. Объекты этих классов могут быть отображены на экране с помощью функции-члена draw и перемещены с помощью...
C++ Не работает getline Есть прога, которая считает предложения и выводит самое длинное.Есть главный кейс с меню. В первом пункте кейса есть гетлайн, но при выборе этого пункта прога прогоняет кейс до ввода переменной для... подробнее

Показать сообщение отдельно
iga7013
1 / 1 / 0
Регистрация: 02.06.2013
Сообщений: 38

Битовые операции. Сдвиг вправо и взятие остатка от деления - C++

28.10.2013, 11:42. Просмотров 2845. Ответов 19
Метки (Все метки)

Есть задача: определить количество ноликов в веденном пользователем числе с помощью битовых операций.
Вот что у меня уже есть:


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
31
32
33
34
#include <conio.h>
#include <locale.h>
#include <iostream>
using namespace std;
 
 
int chislo(int);
void main()
{
    setlocale(0,"rus");
    int x;
    cout<<"Введите число:";
    cin>>x;
    int y=chislo(x);
    cout<<"В вашем числе - "<<y<<" ноликов";
    _getch();
}
 
 
int chislo(int x)
{
    int sum=0;
    while (x>0)
    {
        if ((x%2)==0)
        {
            sum++;
        }
        
            x=x>>1;
        
    }
    return sum;
}

И сама проблемка, строчку №25
if ((x%2)==0)
нужно заменить битовыми операциями.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.