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

Побитовые операции сдвига - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сам ассистанс гайс http://www.cyberforum.ru/cpp-beginners/thread1058036.html
При работе программы вылетает ошибка Необработанное исключение по адресу 0x00DD5061 в projectX.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000. Происходит после вывода матрицы смежности на экран Заранее спасибо за помощь #include <conio.h> #include <iostream> #include <stdio.h> #include <stdlib.h> #include <time.h>
C++ Содержимое текстового файла разбить на предложения Пусть есть текстовый файл содержащий текст в 50 строках (Создается вручную в блокноте) Считать содержимое этого файла Содержимое разбить на предложения Предложение начинается с большой буквы и заканчивается точкой Предложение не обязательно начинается и заканчивается на одной строке Не любая точка является признаком окончания предложения Для хранения предложений использовать массив строк... http://www.cyberforum.ru/cpp-beginners/thread1058031.html
Поменять местами наибольший и наименьший элементы массива C++
сроки поджимают, а вчера я еще потерял флэшку с кривой и забагованной первой функцией этой программы. руки совсем опустились, последняя надежда -- вы, форумчане в точности перепишу условие: ----- 1. В одномерном массиве (а не в матрице) поменять местами наибольший и наименьший элементы(в массиве только 1 наибольший и 1 наименьший элементы) 2. С помощью первой функции в каждой строке матрицы...
Используя указатели, сформировать вещественный массив C++
доброго времени суток . такая задача двумерный массив размер 3 на 4 (тоесть вектор векторов). Используя указатели , сформировать вещественный массив с размером 4 используя условие . условие. Sjt это минимальное значение j столбца массива D. при изменении j от нуля до 3 вывести на печать исходный и расчетный массив . спасибо .
C++ Написать рекурсивную функцию для перестановки цифр в числе http://www.cyberforum.ru/cpp-beginners/thread1058003.html
не могу понять как это сделать, может подскажете?
C++ в первом модуле определёна квадратная матрица четвёртого порядка в первом модуле определёна квадратная матрица четвёртого порядка. Выводится изменённая матрица построчно. во втором модуле все элементы последней строки уменьшаются на соответствующие элементы третьего столбца. Добавлено через 20 часов 18 минут Кто нибудь знает как это сделать!? подробнее

Показать сообщение отдельно
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
26.12.2013, 23:03     Побитовые операции сдвига
Запустил такой код
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    short value = 0x8004;
    for (int i = 0; i < 32; ++i, value >>= 1)
        std::cout << value << std::endl;
 
    return EXIT_SUCCESS;
}
Bash
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
-32764
-16382
-8191
-4096
-2048
-1024
-512
-256
-128
-64
-32
-16
-8
-4
-2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
Как видно с прмера >>= не есть циклический сдвиг или сдвиг битов, это скорее простое деление на 2^n, так как n у меня равно 1, поэтому просто деление на два.

Почему же в бинартой записи появляются 1 вместо 0? Чисто технический ньюнс, согласно которому отрицательные числа сохраняются в другом виде.

Добавлено через 2 минуты
http://ru.wikipedia.org/wiki/%D0%94%...81%D0%BB%D0%B0)
 
Текущее время: 22:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru