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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.86
RAMAK
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 4
#1

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

16.10.2007, 22:11. Просмотров 3574. Ответов 3
Метки нет (Все метки)

Как поменять старший и младший полубайт беззнакового короткого целого местами?
конечно же используя битовые операции..
напишите прогу плз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2007, 22:11     Поменять местами старший и младший полубайты
Посмотрите здесь:

Поменять местами элементы C++
C++ Поменять строку местами.
В числе 15 поменять местами младший и старший байты C++
Для целого числа А выделить старший байт и поставить его на место младшего байта. старший байт при этом обнулить. C++
C++ функция изменяет старший байт числа на заданное значение не изменяя младший байт
C++ Поменять местами старший и младший полубайт беззнакового короткого целого
C++ Поменять строки местами
В двумерном массиве поменять местами максимальный и минимальный элемент местами C++
Поменять местами столбец L и строку K местами квадратной матрицы 4х4 C++
C++ Вывести старший и младший байт заданного целого положительного числа в шестнадцатиричном и двоичном виде
Бит 8, младший и старший бит (по книге) C++
Поменять местами строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igor_nf
118 / 12 / 1
Регистрация: 21.08.2007
Сообщений: 222
17.10.2007, 18:33     Поменять местами старший и младший полубайты #2
Беззнаковое короткое целое есть unsigned short int, а на 32-разр. машине этот тип занимает 2 байта памяти. Отсюда вопрос - где у двухбайтного числа старший и младший полубайты?
RAMAK
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 4
17.10.2007, 23:33  [ТС]     Поменять местами старший и младший полубайты #3
спросил у училки седня утром тот же самый вопрос=)
она сказала, что это просто unsigned short%))))

вот попытался, вроде работает..
ток ща заметил, что int, а не unsigned short ввел=)
в принципе, должна работать..
не подскажешь, в main() код, чтоб без такого числа переменных?!
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
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
 
void dex2bin(int on)  //переводит десятичное в двоичное
{
    int n,r;
    char st[17];
    int i = 15;
    st[16] = '\0';
    n=on;
    do
    {
        r = n % 2;  //очередная цифра
        n = n / 2; //целая часть деления
        st[i--] = r + 48; //преобразовывает цифры в символ
    } while(n > 0);
//сдвигает строку в начало
    i++;
    int j = 0;
    while(st[i]) st[j++] = st[i++];
    st[j] = '\0';
    st[i--] = ' ';
    printf("result = %s\n",st);
}
 
void main()
{
    int c,a,b,a1,c1,d;
    a = 0xDC; //1101 1100   =    220
    b = 0xF;  //0000 1111   =     15
    c = a&b;
    a1 = a>>4;
    c1 = c<<4;
    d = a1^c1;
    dex2bin(d);
}
Гость
Сообщений: n/a
18.10.2007, 18:11     Поменять местами старший и младший полубайты #4
C++
1
2
3
4
5
6
7
8
9
void main()
{
    int a,d;
    a = 0xDC; //1101 1100   =    220
 
    d = a>>4^a<<4;
 
    dex2bin(d);
}
?????
Yandex
Объявления
18.10.2007, 18:11     Поменять местами старший и младший полубайты
Ответ Создать тему
Опции темы

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