Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2010, 14:41   #1
moon-guest
Пользователь
 
Аватар для moon-guest
 
Регистрация: 14.11.2010
Сообщений: 27
По умолчанию SWAP функция

Добрый день!!!
При решении лабораторной работы по с++ возникла проблема. Нужно производит перестановку старших и младших байт двух байтного числа. Стандартных функций я не нашел.( В делфи есть такая функция ('function swap(X: integer):integer'). Может кто подскажет как это реализуется в с++.
Заранее спасибо!!! Н.
moon-guest вне форума Ответить с цитированием
Старый 14.11.2010, 15:08   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Смотрите про побитовые операторы
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 14.11.2010, 15:35   #3
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Я бы сделал так:
Код:
short swap_bytes(short val)
{
      union
      {
            short word;
            unsigned char byte[2];
      };
      
      word = val;
      unsigned char tepm = byte[0];
      byte[0] = byte[1];
      byte[1] = temp;

      return word;
}
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 14.11.2010, 17:51   #4
moon-guest
Пользователь
 
Аватар для moon-guest
 
Регистрация: 14.11.2010
Сообщений: 27
По умолчанию

Спасибо очень помогло, возьму на заметку.
Вопрос по примеру на правильность понимания, с помощью union объединили переменные и их адресация в памяти одинакова???
moon-guest вне форума Ответить с цитированием
Старый 14.11.2010, 18:17   #5
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Да .
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция Alexsey1991 Помощь студентам 2 24.04.2010 21:09
Swap nusik Паскаль, Turbo Pascal, PascalABC.NET 0 27.05.2009 12:45
функция sergei64_89 Общие вопросы C/C++ 2 25.05.2008 16:48
Функция... Sota Помощь студентам 5 24.05.2008 22:19
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50