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

Побитовые опреции в си.Как решить ??? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вопрос к опытным програмистам http://www.cyberforum.ru/cpp-beginners/thread106356.html
Ситуация такова, начинаю учить программирование в целом ну и Си++ в частности, как показало множество самостоятельных заданий в книге у меня немного туго с логикой решения задачи, да может я туп и...
C++ char[] в int, float. Интересует такой вопрос: Допустим у меня есть массив из char, и в этом массиве посимвольно лежат цифры (через %s), т.е: char ach; a='1' a='2' a='8' a='\0' http://www.cyberforum.ru/cpp-beginners/thread106328.html
Анимация для игры C++
Привет, народ. Вот, начал писать игру на плюсах (хочу че-нибудь типа Принца Персии 2D), изучаю SDL и вот возникла проблема, не знаю на чем лучше спрайты рисовать... Начал с Corel Paint Shop Pro...
C++ Работа с динамическими строками
Итак, мне нужны 2 процедуры: 1.добавление символа в конец динамической строки и 2.удаление символа из конца динамической строки. Первая работает правильно: void addToEnd(char newC, char *&data, int...
C++ Найти максимальный элемент матрицы http://www.cyberforum.ru/cpp-beginners/thread106301.html
помогите найти максимальный элемент матрицы.Оформить в виде функции
C++ Наследование Помогите доделать прогу... Нужно сделать иерархию классов студент и отец -> семейство Почти все сделано..но с ошибками=( и без инициализации #include <iostream> #include <string.h> #include... подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8297 / 3517 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
23.03.2010, 10:45
Этот код одинаково успешно выполнится на С и С++

C++
1
2
3
4
5
6
7
8
9
10
11
объявляем переменные chislo и сразу инициализируем значением 255, i, 
    rez и инициализируем нулем, size и присваиваем ему количество байт
    в переменной chislo умноженных на 8(количество бит в байте) типа int;
в цикле от 0 до 31 проходим каждый бит нашего числа chislo
    прибавляем к rez значение 
        ((если i нечетное)
            то путем битового сдвига вправо(>>) получаем i-ый бит переменной chislo и
                сравниваем побитово с 1(в итоге получаем 1 или 0, подробнее потом) :
            иначе путем битового сдвига вправо получаем i-ый бит переменной chislo и
                сравниваем побитово с 1, инвертируем его с помощью отрицания(!)) 
        и сдвигаем полученное число(1 или 0) на i позицию влево(<<)
Таблица истинности для операции И(&)
Код
   &
00   0
01   0
10   0
11   1
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru