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

Приоритет побитовых операций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка строк по возрастанию и убыванию длин слов http://www.cyberforum.ru/cpp-beginners/thread1304931.html
Написал код, в котором принимаются две строки. Первая сортируется по возрастанию длин слов, вторая по убыванию. В результате нужно получить строку, в которой на нечётных местах слова первой строки, на чётных - второй. Если в одной из строк заканчиваются слова, использовать её заново. // Lab_1.cpp : Defines1 the1 entry point for the1 console1 application. // #include "stdafx.h" #include...
C++ Перевод с десятичного в двоичный числа в прямой и обратный код Перевод с десятичного в двоичный числа в прямой и обратный код. http://www.cyberforum.ru/cpp-beginners/thread1304919.html
C++ Ищу опытного программиста 3D игр для бесплатных консультаций
Ну суть отражена в заголовке.Мне не нужен чей-то фриланс,просто хочу найти умного человека,которому иногда можно будет задавать умные вопросы=)
Модульное программирование и классы C++ (проблема слияния) C++
Добрый день! Есть задание сделать алгоритм нахождения минимального пути из точек. Задание кое как сделал в мейн.цпп, все работало прекрасно, но преподавателю нужно чтобы я его сделал в виде модулей. Я создал .h и .cpp, в h я закинул сам класс и его описание, прототипы функций. В срр закинул описание функций и конструктора. Компилятор много жалуется Error 5 error LNK1120: 2 unresolved externals ...
C++ Даны кординаты вершин двоих треугольников. Определить, какой из них имеет большую площадь http://www.cyberforum.ru/cpp-beginners/thread1304890.html
Даны кординаты вершин двоих треугольников. Определить, какой из них имеет большую площину.
C++ Хранение данных на внешних носителях Постановка задачи 1.Используя ввод-вывод в стиле С создать файл и записать в него структурированные данные. 2.Вывести созданный файл на экран. 3.Удалить из файла данные в соответствии с вариантом. 4.Добавить в файл данные в соответствии с вариантом. 5.Вывести измененный файл на экран. 6.Используя ввод-вывод в стиле С++ создать файл и записать в него структурированные данные. 7.Вывести... подробнее

Показать сообщение отдельно
ioscat
1 / 1 / 0
Регистрация: 07.05.2014
Сообщений: 44

Приоритет побитовых операций - C++

19.11.2014, 13:40. Просмотров 385. Ответов 4
Метки (Все метки)

Всем привет.

Столкнулся с непоняшкой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Объявляем два массива и инициализируем их    
    unsigned char A[5]={0xFF, 0x03, 0x00, 0x00, 0xB6};
    unsigned short B[4]={0};
 
   
    // Смотрим, что внутри
    cout << (unsigned short)A[0] << " " ;
    cout << hex << (unsigned short)A[0] << endl;
   
    cout << (unsigned short)A[1] << " " ;
    cout << hex << (unsigned short)A[1] << endl;
   
    // Пробуем провернуть операцию:
    B[0]=(A[1]<<8)&0x3FF ;
    cout << " B[0] is: " << B[0] << endl;
B[0] is: 300
А теперь немного изменим код:
C++
1
B[0]=(A[1]<<8)&0x3FF + 1;
B[0] is: 0
Вопрос - с чего вдруг так, по идее должно быть 301!

Если добавить скобок, то всё ОК:
C++
1
B[0]=((A[1]<<8)&0x3FF)+1;
B[0] is: 301
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru