Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 182
1

Поменять местами байты

29.03.2018, 16:56. Показов 4669. Ответов 6
Метки нет (Все метки)

Есть два байта

0x1f и 0xf0 - ну или другие два случайные. Они стоят в переменной друг за другом. Нужно их поменять местами. Есть ли какой-то быстрый способ сделать это?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2018, 16:56
Ответы с готовыми решениями:

Поменять местами средние байты заданного числа
Здравствуйте, нужна помощь с данным заданием Заранее благодарю) "Программе задаётся...

В числе 15 поменять местами младший и старший байты
Здравствуйте всем объясните пожалуйста как например в числе 15 поменять местами младший и старший...

Поменять местами левый и правый байты целого аргумента
разработайте макрос swab(х) который меняет местами левый и правый байты целого аргумента х...

Как записать число в четырёхбайтовом формате и поменять местами байты?
Задано 4 байтовое число (0, 1, 2, 3), нужно поменять местами 1 и 2 байты. Нужно как-то записать...

6
616 / 426 / 205
Регистрация: 06.09.2013
Сообщений: 1,191
29.03.2018, 17:09 2
Koptina, ну вот так вроде работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main() {
    int n = 0x02341ff0;
    std::cout << std::hex << n << std::endl;
    char *pb = (char*)&n;
    char b = pb[0];
    pb[0] = pb[1];
    pb[1] = b;
    std::cout << std::hex << n;
    return 0;
}
0
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 182
29.03.2018, 17:11  [ТС] 3
woldemas, это да, такое можно сделать, но, может, какие-то хитрости есть и можно сделать по-другому? или нет таких хитростей?
0
616 / 426 / 205
Регистрация: 06.09.2013
Сообщений: 1,191
29.03.2018, 17:12 4
Koptina, можно с помощью побитовых операций, но мне неохота. Может кто-нибудь попозже напишет.
0
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 182
29.03.2018, 17:14  [ТС] 5
woldemas, вот как раз вот такое что-то и ищу
0
616 / 426 / 205
Регистрация: 06.09.2013
Сообщений: 1,191
29.03.2018, 17:20 6
Koptina, ну в случае который я привел, что-то наподобие
C++
1
int m =  (n & ~0xffff) ^ (0xff00 & (n << 8)) ^ ((n >> 8) & 0xff);
Может попроще можно, я не силен.
0
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 190
29.03.2018, 17:21 7
Точнее можно определить задачу? Они в переменной находятся или в массиве?
Сортировку пузырьком пробовали?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2018, 17:21

Поменять байты
Есть задача: дано число long int получить другое число путем перестановки двух ПОСЛЕДНИХ байтов с...

В двумерном массиве поменять местами максимальный и минимальный элемент местами
Написать фрагмент программы для решения следующей задачи.В двумерном массиве поменять местами...

Поменять местами столбец L и строку K местами квадратной матрицы 4х4
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; #define N 4 #define M 4 int...

Массив: Поменять местами первый элемент поменять с последним, второй - с предпоследним и т.д.
Задано массив из четного числа элементов.Поменять местами первый элемент поменять с последним,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru