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

Поразрядные операторы,операторы сдвига - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Метод Гаусса через единичную диагональ. Что не так? http://www.cyberforum.ru/cpp-beginners/thread835329.html
# include<stdio.h> #include <conio.h> #define N 2 // размерность int main () { int i, n, g, k; float A, a, b, c, d, e; // a & b - коэфф, с & d & e - для вычислений A=1; A=2; A=11; A=3; A=4; A=25;
C++ Восстановление задачи SystemRestore Пропало всё в SystemRestore(пусто,ни одной задачи)! Не создаются автоматически точки восстановления, не могу изменить задачу (период появления точек). Захожу ветку Библиотека планировщика заданий\Microsoft\Windows\SystemRestore, далее пишет "выбранная задача"{0}" больше не существует". Пункта SR нет- триггера нет. Что делать не знаю. Помогите!!! http://www.cyberforum.ru/cpp-beginners/thread835327.html
Вывести растояние от заданой точки к точке,которая делит высоту пополам C++
Дано координаты вершин паралелограма. Вывести растояние от заданой точки к точке,которая делит высоту пополам
C++ Массив: Вывести количество повторений числа "х" в столбике.
Помогите функцию переделать, я написал, вроде и верно но чуть не то. Вобщем мне нужно что бы мне вывело количество повторений числа "х" в столбике. например масив 1 2 3 х 2 2 2 3 1 2 1 2 х 3 1 1 2 3 3 3 1 2 3 3 3 1 х 1 1 1 1 х 1 1 1
C++ new выделяет больше памяти, чем задано http://www.cyberforum.ru/cpp-beginners/thread835284.html
Здравия желаю!:) При запуске программы с кодом void main() { char *p; p=new char; cout<<strlen(p); _getch(); delete p;
C++ Символы.Вывести на экран сивол после символа а В тексте есть буква а, и она не последняя. Вывести на экран букву, следующую за ней. подробнее

Показать сообщение отдельно
alekopi
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 8
11.04.2013, 22:47     Поразрядные операторы,операторы сдвига
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
int bitcount(unsigned x)
{
    int b;
    for(b=0;x!=0;x>>=1)
        if(x&01)
            b++;
    return b;
}
void main()
{
    int i=3;
    cout<<bitcount(i);
}
я понимаю что выполняет эта функция - считает количество единичных битов в двоичном представлении числа i
Но как это все происходит пошагово в цикле и что там делается в каждом шаге я не понимаю
я не понимаю эти поразрядные операторы - читал в учебниках про них, но все равно не могу представить подробно что в цикле происходит
в байте - 8 бит т.е. там как то цикл for пробегает всегда 8 раз ,но как он там и в каком месте сравнивает единички и нули я не могу понять и почему именно один байт, если во время определения переменной i в каком то месте памяти выделяется 4 байта для хранения встроенного типа данных int а не один
извините за свои корявые изложения мыслей т.к. скорей всего кое-где криво и неправильно выразился в своем сообщении потому-что изучаю Си не больше месяца.
Объясните пожалуйста что в цикле for происходит
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru