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

Представление числа в 16-ричном виде - C++

Восстановить пароль Регистрация
 
SergeyNewer
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 6
03.07.2015, 19:06     Представление числа в 16-ричном виде #1
Как это звучит на русском?
C++
1
2
3
4
                e=C%16;
        d=C/16;
        HEX_A=array_m[e]+HEX_A;
        C=d;
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rius
 Аватар для Rius
1763 / 1148 / 274
Регистрация: 25.05.2015
Сообщений: 4,075
Записей в блоге: 4
Завершенные тесты: 4
03.07.2015, 19:26     Представление числа в 16-ричном виде #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1. получить остаток от деления C на 16.
Если C - целое, можно было e = C & 0x0f;
2. Получаем целую часть от деления на 16.
Аналогично, если C - целое, можно было d = C >> 4;
3. К чему-то прибавляется значение из массива, соответствующее e из пункта 1.
4. В C заносится число полученное в пункте 2.

Должен быть ещё код. Откуда берётся C, что такое HEX_A и array_m.
Рыжий Лис
Просто Лис
 Аватар для Рыжий Лис
209 / 164 / 44
Регистрация: 17.05.2012
Сообщений: 611
Записей в блоге: 4
03.07.2015, 19:31     Представление числа в 16-ричном виде #3
Скорей всего перевод числа из 10-й в 16-ю систему исчисления.
C++
1
2
3
4
        e=C%16;//берём одну цифру справа
        d=C/16;//и откидываем последнюю цифру
        HEX_A=array_m[e]+HEX_A;
        C=d;
Rius
 Аватар для Rius
1763 / 1148 / 274
Регистрация: 25.05.2015
Сообщений: 4,075
Записей в блоге: 4
Завершенные тесты: 4
03.07.2015, 19:33     Представление числа в 16-ричном виде #4
А, если HEX_A - это строка, а array_m - массив символов из 16-ричной системы (0...f).
Новые символы, старшие, вставляются в начало строки.
Рыжий Лис
Просто Лис
 Аватар для Рыжий Лис
209 / 164 / 44
Регистрация: 17.05.2012
Сообщений: 611
Записей в блоге: 4
03.07.2015, 19:33     Представление числа в 16-ричном виде #5
Проще записать так, если переменная d больше нигде не используется:
C++
1
2
3
        e=C%16;
        C/=16;
        HEX_A=array_m[e]+HEX_A;
SergeyNewer
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 6
03.07.2015, 20:14  [ТС]     Представление числа в 16-ричном виде #6
Вот полны код - как я могу его обьяснить словами что здесь происходит???
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
char array_m[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int C, d, e;
    std:: string HEX_A="", HEX_B="";
srand(time(NULL));
C=rand()%101;
cin >> HEX_B;
d=C;
do
    {
        e=C%16;
        d=C/16;
        HEX_A=array_m[e]+HEX_A;
        C=d;
    }
    while(d>=1);
if (HEX_A == HEX_B)
    {
        cout << "Vy vveli vernoe chislo" << endl;
    }
    else
    {
        cout << "Vy vveli nevernoe chislo" << endl;
    }
    return system("pause");
 
[size="1"][color="grey"][I]Добавлено через 1 минуту[/I][/color][/size]
Вот полны код - как я могу его обьяснить словами что здесь происходит???
char array_m[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int C, d, e;
std:: string HEX_A="", HEX_B="";
srand(time(NULL));
C=rand()%101;
cin >> HEX_B;
d=C;
do
{
e=C%16;
d=C/16;
HEX_A=array_m[e]+HEX_A;
C=d;
}
while(d>=1);
if (HEX_A == HEX_B)
{
cout << "Vy vveli vernoe chislo" << endl;
}
else
{
cout << "Vy vveli nevernoe chislo" << endl;
}
return system("pause");
Добавлено через 9 минут
Rius, помоги расшифровать код,пожалуйста
Рыжий Лис
Просто Лис
 Аватар для Рыжий Лис
209 / 164 / 44
Регистрация: 17.05.2012
Сообщений: 611
Записей в блоге: 4
03.07.2015, 20:21     Представление числа в 16-ричном виде #7
Игра в угадайку. Компьютер загадывает число от 0 до 100, а пользователь пытается угадать. Только пользователь должен ввести число в 16-й системе исчисления.

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
char array_m[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int C, d, e;
std:: string HEX_A="", HEX_B="";
srand(time(NULL));
C=rand()%101;//число от 0 до 100
cin >> HEX_B;//ввод пользователем строки
//далее перевод числа загаданного компьютером в 16-ю СИ
d=C;
do
{
e=C%16;
d=C/16;
HEX_A=array_m[e]+HEX_A;//к строке слева прибавляем символ из массива
C=d;
}
while(d>=1);
if (HEX_A == HEX_B)//и сравниваем строки
{
cout << "Vy vveli vernoe chislo" << endl;
}
else
{
cout << "Vy vveli nevernoe chislo" << endl;
}
return system("pause");
SergeyNewer
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 6
03.07.2015, 20:29  [ТС]     Представление числа в 16-ричном виде #8
это понятно примерно меня интересует подробно про это
{
e=C%16;
d=C/16;
HEX_A=array_m[e]+HEX_A;//к строке слева прибавляем символ из массива
C=d;
}
Обьясните пожалуйста
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2015, 20:32     Представление числа в 16-ричном виде
Еще ссылки по теме:

Для целого числа найти его представление в виде среднего арифметического квадратов чисел C++
C++ Нужно чтобы на экран числа выводились в 16-ричном формате
C++ Получить двоичное представление числа р в виде последовательности нулей и единиц

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

Или воспользуйтесь поиском по форуму:
Rius
 Аватар для Rius
1763 / 1148 / 274
Регистрация: 25.05.2015
Сообщений: 4,075
Записей в блоге: 4
Завершенные тесты: 4
03.07.2015, 20:32     Представление числа в 16-ричном виде #9
Было число C типа 0x12abcdef.
В цикле оно сдвигается вправо на тетраду. Т.е. 0x12abcdef -> 0x12abcde -> 0x12abcd -> 0x12abc -> 0x12ab -> 0x12a -> 0x12 -> 0x1 -> 0
Попутно, сдвигаемая цифра сохраняется в переменную e.
Используя её в качестве индекса для массива с 16-ричными знаками, формируется строка с текстовым представлением исходного числа в 16-ричном виде.
Yandex
Объявления
03.07.2015, 20:32     Представление числа в 16-ричном виде
Ответ Создать тему
Опции темы

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