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

Показать сообщение отдельно
xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147

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

26.12.2013, 20:55. Просмотров 566. Ответов 8
Метки (Все метки)

Как работают операции сдвига вправо? Я всегда считал что освобождающиеся левые биты заполняются нулями. Оказывается это не всегда так. Если число отрицательное, то эти биты заполняются единицами, т.е. знаковым битом. Это что получается, что освободившиеся биты всегда заполняются именно самым старшим битом или как?

Вот пример программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <windows.h>
#include <stdio.h>
 
 
int WINAPI WinMain(HINSTANCE,  HINSTANCE,  LPSTR,  int)
{
    SHORT       value       = 0x8004;   // 1000 0000 0000 0100 = отрицательное число
    value >>= 2;                        // 1110 0000 0000 0001 = -8191
                                        // 0001 1111 1111 1110
                                        // 0001 1111 1111 1111 = 8191
 
    char        szText[50];
 
    wsprintf(szText,  "%d",  value);
    MessageBox(NULL,  szText,  "",  MB_OK); // -8191 !! Отрицательное число
 
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru