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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 64, средняя оценка - 4.64
Leshiy1
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
#1

В числе 15 поменять местами младший и старший байты - C++

07.04.2010, 16:33. Просмотров 8618. Ответов 23
Метки нет (Все метки)

Здравствуйте всем
объясните пожалуйста как например в числе 15 поменять местами младший и старший байты
(Я Си изучаю только два дня)

Добавлено через 8 минут
Переменная типа int
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2010, 16:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В числе 15 поменять местами младший и старший байты (C++):

Поменять местами старший и младший полубайты - C++
Как поменять старший и младший полубайт беззнакового короткого целого местами? конечно же используя битовые операции.. напишите прогу...

Поменять местами старший и младший полубайт беззнакового короткого целого - C++
ребят, помогите Используя битовые операции, поменять местами старший и младший полубайт беззнакового короткого целого.

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

Поменять цифры в числе местами - C++
салам!) помогите решить одну задачу, нужно вывести число цифрами наоборот. например: вводотся 45-выводится 54 НО если вводится 20 или...

В числе поменять местами цифры - C++
Дано число ABCDEF.GHIKLM(в котором буквы – это любые цифры (0..9)) в этом числе поменять местами E – H и C – L

N-значное число, вывести младший и старший разряд - C++
Составить программу. Дано n-значное число longint. Произвести с ним действия согласно варианту ( 17 ) Вывести только цифры самого...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.07.2010, 21:07 #16
Цитата Сообщение от kirich iz Che Посмотреть сообщение
а почему тогда начальное число мы берем как 123456789?
А есть разница?
0
kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
04.07.2010, 21:12 #17
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
А есть разница?
ну ввожу я число 2,
почему оно будет 0х123456789 , я не понимаю
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.07.2010, 21:16 #18
Цитата Сообщение от kirich iz Che Посмотреть сообщение
ну ввожу я число 2,
почему оно будет 0х123456789 , я не понимаю
2 оно и в Африке 2. Ввод добавь.
C++
1
2
3
4
5
6
unsigned int dword;
std::cin >>  dword;
 
dword = (dword << 24) | (dword & 0x00FFFF00) | (dword >> 24);
 
std::cout << dword;
0
kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
04.07.2010, 21:28 #19
это вся прога Оо
0
fasked
Эксперт С++
4937 / 2517 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
04.07.2010, 21:37 #20
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
   unsigned int dword;
   std::cin >>  dword;
 
   dword = (dword << 24) | (dword & 0x00FFFF00) | (dword >> 24);
 
   std::cout << dword;
}
вот теперь вся
0
kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
04.07.2010, 21:56 #21
Цитата Сообщение от fasked Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
   unsigned int dword;
   std::cin >>  dword;
 
   dword = (dword << 24) | (dword & 0x00FFFF00) | (dword >> 24);
 
   std::cout << dword;
}
вот теперь вся
о да.. клевые несколько строчек кода)
0
fasked
Эксперт С++
4937 / 2517 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.07.2010, 00:20 #22
Цитата Сообщение от kirich iz Che Посмотреть сообщение
о да.. клевые несколько строчек кода)
а что ты еще хочешь?
0
kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
05.07.2010, 06:48 #23
Цитата Сообщение от fasked Посмотреть сообщение
а что ты еще хочешь?
все хорошо, просто неожиданно короткл
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
10.07.2010, 21:03 #24
Еще как вариант.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
 
//Функция обменивает байты в переданном блоке данных, номера байтов задаются третим и четвертым параметрами.                                                                                  */
long swap_bytes(void *buf, unsigned long size_b, unsigned long num_b1, unsigned num_b2);
int main(){
    int n=1022221113;
    cout<<n<<endl;
    swap_bytes(&n,sizeof(int),0,sizeof(int)-1);   //меняеться последний с первым.
    cout<<n<<endl;
return 0;
}
 
long swap_bytes(void *buf, unsigned long size_b, unsigned long num_b1, unsigned num_b2){
if(size_b<=1)return -1;              
if(num_b1==num_b2)return -2;         
if(num_b1>=size_b||num_b2>=size_b)return -3; 
char *p = ( char*)buf;   
//Обмен байт с номерами.
char tmp = p[num_b1];
p[num_b1] = p[num_b2];
p[num_b2] = tmp;
//----------------------
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2010, 21:03
Привет! Вот еще темы с ответами:

Как поменять цифры в числе местами? - C++
Помогите, пожалуйста, с задачей Нам дано: натуральное число, запись которого начинается не с нуля и содержит не больше 100 цифр. ...

Поменять местами первую и последнюю цифру в числе - C++
Здравствуйте, я в C++ новичок и мне очень нужна помощь. Дано некое число, которое вбивает пользователь, надо поменять в этом числе первую и...

Поменять в четырехзначном числе вторую и третью цифру местами - C++
Дано целое четырехзначное число n (n&gt;0). Поменять в числе вторую и третью цифру местами

В трехзначном числе поменять местами первую и последнюю цифры - C++
Условие: разработать функцию которая в трехзначном числе меняет местами первую и последнию цифру с++ Разработал функцию, но вот что в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.07.2010, 21:03
Ответ Создать тему
Опции темы

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