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

Отображение ASCII символов в двоичном коде - C++

Восстановить пароль Регистрация
 
WebMacTep
 Аватар для WebMacTep
21 / 21 / 1
Регистрация: 03.10.2013
Сообщений: 128
26.03.2014, 23:10     Отображение ASCII символов в двоичном коде #1
Добрый день. Есть программа, которая отображает двоичный код ASCII символа.

Кликните здесь для просмотра всего текста
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
49
50
51
52
53
54
55
#include <iostream>
 
using namespace std;
 
struct byte
{
    unsigned a : 1;
    unsigned b : 1;
    unsigned c : 1;
    unsigned d : 1;
    unsigned e : 1;
    unsigned f : 1;
    unsigned g : 1;
    unsigned h : 1;
};
 
union bits
{
    char ch;
    struct byte bit;
} ascii;
 
void disp_bits(bits b);
 
int main()
{
    do
    {
        cin >> ascii.ch;
        disp_bits(ascii);
    } while (ascii.ch != 'q');
 
    return 0;
}
 
void disp_bits(bits b)
{
    if (b.bit.h) cout << "1 ";
        else cout << "0 ";
    if (b.bit.g) cout << "1 ";
        else cout << "0 ";
    if (b.bit.f) cout << "1 ";
        else cout << "0 ";
    if (b.bit.e) cout << "1 ";
        else cout << "0 ";
    if (b.bit.d) cout << "1 ";
        else cout << "0 ";
    if (b.bit.c) cout << "1 ";
        else cout << "0 ";
    if (b.bit.b) cout << "1 ";
        else cout << "0 ";
    if (b.bit.a) cout << "1 ";
        else cout << "0 ";
    cout << endl;
}


Так вот у меня вопрос: почему в структуре byte переменные объявляются в алфавитном порядке, а в функции disp_bits в обратном?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
26.03.2014, 23:18     Отображение ASCII символов в двоичном коде #2
Цитата Сообщение от WebMacTep Посмотреть сообщение
Так вот у меня вопрос: почему в структуре byte переменные объявляются в алфавитном порядке, а в функции disp_bits в обратном?
потому что в структуре они описаны от младшего к старшему ( сверху вниз)
а выводится сначала старший а потом младший (мы же слева направо пишем)
WebMacTep
 Аватар для WebMacTep
21 / 21 / 1
Регистрация: 03.10.2013
Сообщений: 128
27.03.2014, 00:08  [ТС]     Отображение ASCII символов в двоичном коде #3
ValeryS, насколько я понял, в памяти они расположены так: a-f, верно? Так почему же выводится сначала старший?
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
27.03.2014, 00:20     Отображение ASCII символов в двоичном коде #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от WebMacTep Посмотреть сообщение
Так почему же выводится сначала старший?
ты число сто как пишешь?
100 сначала старший потом средний потом младший ?
или наоборот 001?
Цитата Сообщение от WebMacTep Посмотреть сообщение
насколько я понял, в памяти они расположены так: a-f, верно?
не совсем
байт это единое целое и как процессор его хранит, одному ему известно( обычно параллельно)
но для удобства можно считать так
WebMacTep
 Аватар для WebMacTep
21 / 21 / 1
Регистрация: 03.10.2013
Сообщений: 128
27.03.2014, 01:11  [ТС]     Отображение ASCII символов в двоичном коде #5
ValeryS, точно, спасибо. А то попутал младший/старший.
Yandex
Объявления
27.03.2014, 01:11     Отображение ASCII символов в двоичном коде
Ответ Создать тему
Опции темы

Текущее время: 08:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru