Форум программистов, компьютерный форум 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; подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.03.2010, 10:34     Побитовые опреции в си.Как решить ???
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
35
36
37
#include <stdio.h>
#include <limits.h>
    
/* Дано длинное целое неотрицательное число. Получить число, инвертируя его нечетные биты. */
 
/* функция, печатающая число в двоичном виде (для наглядности) */
void binPrn(unsigned long val){
    int i;
    for ( i = CHAR_BIT * sizeof(long) - 1; i >= 0; --i )
        printf("%d", val >> i & 1);
}
 
int main(void){
    unsigned long num, mask;
    int i;
    
    while ( 1 ){
        printf("\nNumber:\t");
        if ( scanf("%lu", &num) != 1 || !num )
            break;
        printf("Befor:\t");
        binPrn(num);
        printf("\t(%lu)\n", num);
        for ( i = 1; i < CHAR_BIT * sizeof(long); i += 2 ){
            mask = num & 1 << i;
            if ( mask )
                num ^= mask;
            else
                num |= 1 << i;
        }
        printf("After:\t");
        binPrn(num);
        printf("\t(%lu)\n", num);
    }
    
    return 0;
}
 
Текущее время: 21:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru