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

Побитовые опреции в си.Как решить ??? - 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 Photo X2 но там чет со слоями сложновато(( Может че-нить удобнее есть?
C++ Работа с динамическими строками
Итак, мне нужны 2 процедуры: 1.добавление символа в конец динамической строки и 2.удаление символа из конца динамической строки. Первая работает правильно: void addToEnd(char newC, char *&data, int size) { char *newData = new char; memmove(newData, data, size * sizeof(char)); newData = newC; newData = 0; if (data != NULL) { delete data; }
C++ Найти максимальный элемент матрицы http://www.cyberforum.ru/cpp-beginners/thread106301.html
помогите найти максимальный элемент матрицы.Оформить в виде функции
C++ Наследование Помогите доделать прогу... Нужно сделать иерархию классов студент и отец -> семейство Почти все сделано..но с ошибками=( и без инициализации #include <iostream> #include <string.h> #include <Windows.h> // подключаем пространство имен std, в котором // реализованы стандартные потоки ввода/вывода using namespace std; подробнее

Показать сообщение отдельно
KoFeMaH
 Аватар для KoFeMaH
38 / 25 / 1
Регистрация: 21.02.2009
Сообщений: 249
23.03.2010, 10:19     Побитовые опреции в си.Как решить ???
Цитата Сообщение от M128K145 Посмотреть сообщение
кст, а ведь я с решением обманул
Вот так правильно
C++
1
2
3
int chislo = 255, i, rez = 0, size = sizeof(chislo) * 8;
for(i = 0; i < size; ++i)
    rez += ((i & 1) ? (chislo>>i) & 1 : !((chislo>>i) & 1))<<i;
1. объявляем переменные
2. находим количество бит - size
3. проходим по битам нашего числа
4. если индекс бита четный, то копируем бит в соответствующий бит числа rez
5. если индекс бита нечетный, то копируем инвертированый бит в соответствующий бит числа rez
что знак вопроса выполняет здесь?
((i & 1) ? (chislo>>i)
а >> знак это что?
этот код с++? а на с как он будет?
скажи пожалуйста.а то недавно си начали еще много чего не понятно=(
 
Текущее время: 00:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru