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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2011, 11:17   #1
gas777
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 12
По умолчанию Ввести число типа unsigned long. Распечатать в десятичной, двоичной и шестнадцатеричной системе счисления

Помогите решить.
Ввести число типа unsigned long. Распечатать в десятичной, двоичной и шестнадцатеричной системе счисления. Поменять местами первый байт со вторым, третий с четвёртым и снова распечатать.
gas777 вне форума Ответить с цитированием
Старый 15.05.2011, 17:35   #2
rustx88
Пользователь
 
Регистрация: 08.05.2011
Сообщений: 42
По умолчанию

вывести можно через printf - читаем документацию по этой команде

поменять байты местами можно обычным их копированием в дополнит. переменную, потом из переменной вставить по нужному адресу, смотрим документацию по команде memcpy
rustx88 вне форума Ответить с цитированием
Старый 15.05.2011, 18:16   #3
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Код:
смотрим документацию по команде memcpy
мне кажется излишним использовать memcpy для копирования одного байта)
через указатели же можно быстренько скопировать
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 15.05.2011, 20:07   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Поменять местами первый байт со вторым, третий с четвёртым
Код:
    x = ((x<<8) & 0xFF00FF00) | ((x>>8) & 0x00FF00FF);
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 17.05.2011, 19:37   #5
rustx88
Пользователь
 
Регистрация: 08.05.2011
Сообщений: 42
По умолчанию

Цитата:
мне кажется излишним использовать memcpy для копирования одного байта)
совершенно верно) но это так, для наглядности топикстартеру
rustx88 вне форума Ответить с цитированием
Старый 03.06.2011, 09:19   #6
gas777
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 12
По умолчанию

Спасибо за ответы.

Код:
#include<iostream>
#include<cstring>
using namespace std;
union Death
{ 
	unsigned long A;
 char a[4];
};
int main (void)
{
	Death Mega;
 short i;
 char t=0;
 cout<<"enter number"<<endl;
 cin>>Mega.A;
 cout<<Mega.A<<endl<<hex<<Mega.A<<endl;
 for(i=31;i>=0;i--)
	 cout<<(Mega.A>>i&1);
 cout<<endl;
t=Mega.a[0];
Mega.a[0]=Mega.a[1];
Mega.a[1]=t;
t=Mega.a[2];
Mega.a[2]=Mega.a[3];
Mega.a[3]=t;
 cout<<Mega.A<<endl<<dec<<Mega.A<<endl;
for(i=31;i>=0;i--)
cout<<(Mega.A>>i&1);
}

Последний раз редактировалось ACE Valery; 03.06.2011 в 15:40.
gas777 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод значения числа в десятичной системе счисления Kaizzer Помощь студентам 0 23.04.2011 14:44
Дано число в двоичной системе счисления. Проверить правильность ввода этого числа isus Помощь студентам 2 29.11.2009 23:32
Сложение, вычитание в двоичной системе счисления Vemor Паскаль, Turbo Pascal, PascalABC.NET 5 16.06.2009 14:02
Сложение в двоичной системе счисления Volchara Общие вопросы C/C++ 2 23.04.2009 19:54
Деление чисел в двоичной системе счисления Mss_Smith Помощь студентам 9 04.05.2007 17:02