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

Не могу понять, как работает побитовый сдвиг - 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 вести с клавы. Проблема: Выбивает ошибку: LINK : fatal error LNK1104: не удается открыть файл ''C:\Users\Master\Desktop\1\лаб10\D ebug\лаб10.exe'' #include <stdafx.h> #include <conio.h> #include <iostream> using namespace...
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, соответствующие каждому значению х (xn≤x≤xk, шаг изменения x равен dx) по формуле t=|a-b∛x|/(cos⁡(b)+sin⁡(a)-12). Контрольный расчёт провести при a=3.5, b=6.8, xn=-3, xk=3, dx=0.5.
C++ Библиотека с пользовательскими функциями Доброго времени суток! написал ряд функций и классов для использования под DOS и WINDOWS и хочу оформить их в виде библиотеки исходных файлов и с возможностью редактировании. Самое главное подключаемую (при помощи 2 строчек): определения версии ОС #define version_os для одной директивой #include “my_func.h” Сделал все в отдельном каталоге в виде heder файлов – в принципе... подробнее

Показать сообщение отдельно
RusUaBy
 Аватар для RusUaBy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 20
14.11.2013, 22:14  [ТС]     Не могу понять, как работает побитовый сдвиг
Цитата Сообщение от programina Посмотреть сообщение
запись 1-8 в 10-тичной системе и в двоичной системе.
Код
 1  00000001
 2  00000010
 3  00000011
 4  00000100
 5  00000101
 6  00000110
 7  00000111
 8  00001000
Например если взять сейчас 8-ку и применить к ней сдвиг, то он вернет другое число:
00001000 сдвинется вправо на две позиции ( 00001000 ) и станет 00000010

C++
int b = 8 >> 2; // 00000010 то есть 2
Обрати внимание, что сдвиг на одну позицию вправо делит число на 2, а влево умножает на 2
Это я понимаю. Но когда я приближаюсь к границе типа int, 32 бита, у меня возникает переполнение, которое портит мне все значение.
 
Текущее время: 22:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru