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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Igor_k
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 8
#1

Плавятся мозги от непонятной задачи - C++

05.10.2011, 18:35. Просмотров 1114. Ответов 4
Метки нет (Все метки)

Кто может, помогите написать программу, которая меняет местами последний (младший) и предпоследний байты переменной i типа int.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2011, 18:35     Плавятся мозги от непонятной задачи
Посмотрите здесь:

C++ Задачи C++
3 задачи C++
C++ задачи в С++
C++ fread с непонятной ошибкой
C++ Остановка второго потока останавливает также первый поток по непонятной причине
C++ То ли getchar мозги парит, то ли я что-то не вижу
тяжёлая программа, поднапрягите мозги:) ( необходимо составить тяжёлый алгоритм ) C++
C++ хочу написать программу,нужны умные мозги)
C++ задачи
Задачи в С++ C++
C++ Задачи C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4218 / 2192 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
05.10.2011, 18:47     Плавятся мозги от непонятной задачи #2
C++
1
i = (i & ~0xFFFF) | ((i & 0xFF) << 8) | ((i >> 8) & 0xFF);
Igor_k
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 8
05.10.2011, 20:10  [ТС]     Плавятся мозги от непонятной задачи #3
Цитата Сообщение от Thinker Посмотреть сообщение
C++
1
i = (i & ~0xFFFF) | ((i & 0xFF) << 8) | ((i >> 8) & 0xFF);
Огромное спасибо! Можешь пожалуйста объяснить, как оно работает?
Thinker
Эксперт C++
 Аватар для Thinker
4218 / 2192 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
05.10.2011, 20:30     Плавятся мозги от непонятной задачи #4
(i & 0xFF) - выделяем младший байт, а все остальные обнуляем
(i & 0xFF) << 8) - то же самое, но затем сдвигаем на 8 бит влево, то есть этот байт стал предпоследним
(i >> 8) & 0xFF - выделяем предпоследний байт и делаем его младшим байтом
i & ~0xFFFF - обнуляем два младших байта
i = (i & ~0xFFFF) | ((i & 0xFF) << 8) | ((i >> 8) & 0xFF); - по сути, все складываем вместе.
Igor_k
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 8
05.10.2011, 21:09  [ТС]     Плавятся мозги от непонятной задачи #5
Огромная благодарность!

Добавлено через 32 минуты
А что делать с:
В scanf(" %d %f",&a,&c);
Вводить с клавиатуры числа в формате:
- int, float
- int, int
- float, int
- float, double
и выводить их на печать вместе с количеством правильно считанных параметров.
Yandex
Объявления
05.10.2011, 21:09     Плавятся мозги от непонятной задачи
Ответ Создать тему
Опции темы

Текущее время: 14:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru