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

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

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

Подскажите пожалуйста - C++

06.01.2014, 21:10. Просмотров 215. Ответов 1
Метки нет (Все метки)

Добрый день товарищи программисты.
Столкнулся с задачей и никак не могу решить...
Точнее её решил, но не совсем по условию.
Пожалуйста подскажите с чего начать решение данной задачи?
Кликните здесь для просмотра всего текста
Реализуйте функцию, которая принимает один байт (char) как параметр и выводит количество битов установленных в 1цу в данном байте. Например, если функция получила число "5", то функция выведет ответ "2".
а) Оптимизируйте решение по скорости выполнения. (подсказка: char может принимать всего 256 значений).
b) Оптимизируйте решение по используемой памяти (подсказка: воспользуйтесь побитовыми операциями)


Мое решение:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <bitset>
#include <string>
#include <sstream>
using namespace std;
static const unsigned BIT_LENGTH = 8; 
 
int main(){
    setlocale(0,"");
 
    int in;
    int binary=0;
    cin >> in;
    bitset<BIT_LENGTH> a = in;
 
    cout <<  " в десятичной " << in << " в двоичной " << a << endl;
 
    stringstream ss;
    ss << a;
    string k;
    ss >> k;
 
    for(int i=0; i<k.length(); i++)
    {
        if(k[i]=='1') binary++;
        cout << k[i] << " d=" << binary << endl;
    }
    
    system("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2014, 21:10     Подскажите пожалуйста
Посмотрите здесь:

Подскажите пожалуйста - C++
Как в блок-схеме описываются эти две строчки? for (map&lt;std::string,int&gt;::iterator p = count.begin(); p != count.end(); p++) cout &lt;&lt;...

Подскажите, пожалуйста - C++
Вот начал я изучать С++ и сразу же встретился с проблемой. Написал код простой. И тут мне Visual Studio 2010 Заявил &quot;идентификатор cout не...

Подскажите пожалуйста! - C++
Какая задача у этого кода? // &lt;DFM&gt; TFORM2 = class(TForm); object Form2: TForm2 Left = 0 Top = 0 ClientHeight = 2 ...

Подскажите пожалуйста!!! - C++
Написал код на dev-c++ и на коде написал по русски например: &quot;Введите число: &quot; потом компилировал ошибок не было, но там по русски &quot;Введите...

подскажите пожалуйста - C++
вот код программы... ________________ #include &lt;iostream.h&gt; #include &lt;math.h&gt; int A,B,n,N; double...

Подскажите пожалуйста - C++
Здравствуйте, подскажите в чем ошибки. Нужно сделать мини игрушку-21-очко. при проверки проверки в visual studio выдает: 1&gt;------...

Подскажите пожалуйста - C++
Здравствуйте, я нашел длину каждого слова в строке, а как теперь вывести максимальную длину (т.е. то слово в строке, которое имеет...

Подскажите пожалуйста - C++
У меня проблема такая, когда пробую создать консольное приложение(с++) в visual studio, то выскакивает пустое окошко с кнопками готово, и...

Подскажите пожалуйста - C++
Нужно ввести в 1 строковую переменную или символьный массив текст из файла с абзацами.Как это реализовать?

Подскажите, пожалуйста. - C++
Существует - ли способ давать переменным типа char русские буквы так, чтобы они корректно потом выводились на экран/в файл?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.01.2014, 21:47     Подскажите пожалуйста #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
void f(char n)
{
    int binary = 0;
    for (int i = 0; i < 8; ++i)
    {
        if ((n & 1) == 1) ++binary;
        n = n >> 1;
    }
    cout << binary << endl;
}
 
int main()
{
    int in;
    cin >> in;
    f(in);
    
    system("PAUSE");
    return 0;
}
Yandex
Объявления
06.01.2014, 21:47     Подскажите пожалуйста
Ответ Создать тему
Опции темы

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