Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 149

Перевод из одной системы в другую

02.10.2017, 20:36. Показов 5206. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я написала код, который переводит числа из десятичной системы в шестнадцатеричную.
Но один момент откорректировать не смогла...
Например, десятичное число 3129 должно превратиться в С39 (т.к. в шестнадцатеричной системе некоторые числа заменены на буквы). А у меня выводит 1239. Т.е. 12 должно превратиться в С.
(10 в А, 11 в В, 12 в С и еще парочка букв).
Какую функцию мне использовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2017, 20:36
Ответы с готовыми решениями:

Перевод из одной системы счисления в другую.
Мне задали сделать калькулятор для программиста на языке С. В нем требуется выполнение операций только целые числа, 4 арифметических...

Перевод из одной системы счисления в другую.
Помогите пожалуйста написать программу для перевода чисел из одной системы в другую. Используемые системы счисления: от двоичной до...

Перевод из одной системы счисления в другую
помогите перевести из 8 ричной системы счисления в 16 ричную ----> Перевод из системы по основанию 8 в систему по основанию 16 ...

6
15 / 15 / 8
Регистрация: 01.10.2017
Сообщений: 97
02.10.2017, 21:08
Лучший ответ Сообщение было отмечено Nastia_01203 как решение

Решение

Decimal to Hexadecimal converter
1
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 149
02.10.2017, 21:47  [ТС]
Благодарю!!!

Добавлено через 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
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
 setlocale(LC_ALL, "Russian");
    int a, b=0, k=1;
    cout<<"Введите число в десятичной системе ";
    cin>>a;
    int num;
    while (a) 
    {
        b+=a%16*k; 
        a/=16; 
        k*=10; 
        
    }
    cout<<"Число в шестнадцатеричной системе "<<b<<endl;
 
    
    
    system("pause");
    return 0;
}
Вот мой код)
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
02.10.2017, 22:26
Лучший ответ Сообщение было отмечено Nastia_01203 как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char buf[100]; //результирующая строка (выделять удобнее младший разряд, а выводить-то надо со старшего)
char *str = &buf[99]; //указатель на текущий разряд
int num; //число
 
*str = 0; //конец строки
while(num > 0){ //пока число не кончится
  str--; //переход к следующему (влево) разряду
  *str = num % 16; //получаем цифру
//переводим ее в символ:
  if(*str < 10)*str+='0'; //если он десятичный - от 0 до 9, просто прибавляем символ '0'
    else *str = *str-10+'A'; //если же буквенный - отнимаем 10 и прибавляем код символа 'A'
  num /= 16; //переход к следующему разряду
}
printf("0x%s\n", str); //вывод полученной строки
1
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 149
02.10.2017, 23:07  [ТС]
ОГРОМНОЕ СПАСИБО!!!
0
 Аватар для stzer
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
02.10.2017, 23:29
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
#include <iostream>
#include <string>
#include <cassert>
 
std::string get_symbol(const int number)
{
    if (number >= 10)
        return std::string(1, char(55 + number));
 
    return std::to_string(number);
}
 
void show_number(int nmb, const int radix)
{
    assert(nmb >= 0 && radix < 30);
    std::string result;
    for (;;)
    {
        int remainder = nmb % radix;
        result.insert(0, get_symbol(remainder));
        if ((nmb / radix) < radix)
        {
            int temp = (nmb / radix);
            result.insert(0, get_symbol(temp));
            break;
        }
        else
        {
            nmb /= radix;
        }
    }
 
    std::cout << result << std::endl;
}
 
int main()
{
    int nmb = 14;
    show_number(nmb, 16);
    return 0;
}
1
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 149
03.10.2017, 08:17  [ТС]
Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.10.2017, 08:17
Помогаю со студенческими работами здесь

Перевод из одной системы счисления в другую
Суть задачи такова: Написать программу , которая переводит число из 2-й системы счистления в 12-ю через 10-ю. Заранее спасибо!)Язык С++ ...

Перевод с одной системы счисления в другую
Приветствую вас, товарищи программисты. Помогите пожалуйста. Не могу решить, маленькую проблемку. Как сделать так, что-бы при вводе...

Перевод из одной системы счисления в другую
Может кто подскажет ссылки где можно почитать про перевод чисел из однйо системы счисления в другую? К примеру из двоичной в...

Перевод из одной системы счисления в другую
Посмотрите, пожалуйста, кому не сложно код в с++. При компиляции выдает ошибку invalid function declaration Текст задачи: Десятичное...

Перевод из одной системы счисления в другую
перевод чисел(в том числе с дробной частью) из сс q в сс p.(q, p от 2 до 16) помогите протестить: #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru