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

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

Войти
Регистрация
Восстановить пароль
 
anonymous_
6 / 6 / 1
Регистрация: 21.11.2013
Сообщений: 22
#1

Порядок байт в union - C++

21.11.2013, 12:08. Просмотров 531. Ответов 1
Метки нет (Все метки)

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
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
using namespace std;
 
void disp_binary(unsigned u);
 
union swap_bytes {
    short int num;
    char ch[2];
};
 
int main()
{   setlocale(LC_ALL,"RUS");
    
    swap_bytes sb;
    char temp;
 
    sb.num = 15; //двоичный код 0000 0000 0000 1111
    
    cout<<"Исходные байты       : ";
    disp_binary(sb.ch[1]);
    cout<< "   ";
    disp_binary(sb.ch[0]);
    cout<< "\n\n";
 
    //Обмен байтов
    temp = sb.ch[0];
    sb.ch[0] = sb.ch[1];
    sb.ch[1] = temp;
 
    cout << "Байты после перестановки: ";
    disp_binary(sb.ch[1]);
    cout << "   ";
    disp_binary(sb.ch[0]);
    cout << "\n\n"; 
    system("PAUSE>>void");
    return 0;
}
///////////////////////////////////////////////
// Функция отображение битов, составляющих байт 
///////////////////////////////////////////////
void disp_binary(unsigned u)
{
    register int t;
 
    for(t=128; t>0; t=t/2)
        if(u & t) cout << "1 ";
    else cout << "0 ";
}

ведь индексация массива идет 0 затем 1 в моем случаи:
short int num занимает 2 байта и char ch[0] 1 байт и char ch[1] 1 байт


Объясните почему sb.ch[1] нуль а в sb.ch[0] 15 почему НЕ НАОБОРОТ???
0
Миниатюры
Порядок байт в union  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 12:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Порядок байт в union (C++):

Порядок байт в слове и бит в байте - C++
читал эту требуются пояснения. A B C D - адреса в них число 128 BE A B C D ...

Определить порядок хранения байт 16-ричного числа - C++
Всем привет! Имеется следующий вопрос: написать программу, которая показывает порядок хранения байт 16-ричного числа. Как это сделать?

Порядок байт. Массив чаров приводится к типу unsigned int. - C++
Есть массив из 4 char. Массив приводится к типу unsigned int и затем данные извлекаются в переменную типа unsigned int. Нужно, чтобы байты...

Порядок байт в big-endian и little-endian - C++
Всем привет! Народ подскажите мне пожалуйста простые прописные истины, а то я что то запутался! Предположим что у нас в байте 8 - бит и...

Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт - C++
Нужно открыть бинарный файл и закодировать следующим образом. Взять 7 байт. Первый бит каждого байта переместить в 8 байт. То есть,...

функция изменяет старший байт числа на заданное значение не изменяя младший байт - C++
функция изменяет старший байт числа на заданное значение не изменяя младший байт. как можно проще

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.11.2013, 12:35 #2
anonymous_, ознакомьтесь Порядок байтов
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 12:35
Привет! Вот еще темы с ответами:

Посчитать в файле количество нулевых байт и различных байт - C++
Посчитать в файле кол-во нулевых байт и различных байт Кто решит буду весьма благодарен!:drink:

Для целого числа А выделить старший байт и поставить его на место младшего байта. старший байт при этом обнулить. - C++
Помогите пожалуйста, вообще не могу понять как делать следующее...Еще и в программе CODE BLOCKS препод почему именно эту программу...

Порядок отрицательных членов изменить на обратный, порядок неотрицательных сохранить - C++
Задача (нужно все 3 пункта в 1 программе сделать) Прошу Помочь В условиях задания 3 а) порядок отрицательных членов изменить на...

Union - C++
Здравствуйте! Я уже задавал тут вопрос, как использовать union, и сейчас столкнулся с проблемой: Есть 3 файла и заголовочный файл -...


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

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

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