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

Не могу понять, как работает побитовый сдвиг - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необходимо заменить нулевые элементы матрицы вещественных чисел размерностью 5 на 5 ее максимальным элементом http://www.cyberforum.ru/cpp-beginners/thread1008109.html
Помогите пожалуйста сделать программу на Borland C++ 6. Заменить нулевые элементы матрицы вещественных чисел размерностью 5x5 ее максимальным элементом
C++ Что делает данная программа? #include <stdarg.h> #include <iostream.h> #include <conio.h> void sum (char *fmt,...) { va_list ap; int a; double b; long c; http://www.cyberforum.ru/cpp-beginners/thread1008107.html
C++ Динамические структуры данных
Написать программу для работы с потоком символов. Использовать функции добавления, удаления и чтения данных из очереди.
Одноименные массивы С++ C++
Если в указанном массиве хотя бы одно значение элемента лежит в промежутке , то все остальные элементы, которые не попадают в промежуток заменить на z. Значения х,у,z вести с клавы. Проблема:...
C++ Составить программу, реализующую циклический процесс http://www.cyberforum.ru/cpp-beginners/thread1008081.html
1. Для ряда, члены которого вычисляются по формуле a_n=〖(-1)〗^n∙1/((n+1)(n+2)(n+3)), подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда. 2. Вычислить значения t,...
C++ Библиотека с пользовательскими функциями Доброго времени суток! написал ряд функций и классов для использования под DOS и WINDOWS и хочу оформить их в виде библиотеки исходных файлов и с возможностью редактировании. Самое главное... подробнее

Показать сообщение отдельно
RusUaBy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 20

Не могу понять, как работает побитовый сдвиг - C++

14.11.2013, 21:40. Просмотров 951. Ответов 10
Метки (Все метки)

Есть вот такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int invar, wv1, wv2, et, yt, resv;
    invar = 14;
    wv1 = invar >> 4;
    printf("%i\n", wv1);
    wv1 = wv1 << 28;
    printf("%i\n", wv1);
    wv1 = wv1 >> 24;
    printf("%i\n", wv1);
    wv2 = invar << 28;
    printf("%i\n", wv2);
    wv2 = wv2 >> 24;
    printf("%i\n", wv2);
    return 0;
Не понятно, как работает побитовый сдвиг: переменная wv2 после выполнения данного алгоритма должна стать, по идее(считал на бумажке), 224, а выдает -32. Почему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.