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

Написать функцию перевода из 10-й сс в 16-ую - C++

Восстановить пароль Регистрация
 
Evgeni Gromov
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 10
14.05.2014, 20:53     Написать функцию перевода из 10-й сс в 16-ую #1
Помогите,пожалуйста,написать функцию перевода из 10 в 16-ую по такому принципу,с 2 и 8-ой справился,а вот с 16-ой не получается. Как я понимаю,надо подключить буквы в 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
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
 
using namespace std;
 
int calc_10_to_2 (int dec)
    {
    int bin, mod;
    int d10 = 1;
    bin = 0;
 
    while (dec)
    {
        mod = dec % 2;
        dec /= 2;
 
        bin = bin + mod * d10;
        d10 = d10 * 10;
    }
 
    return bin;
    }
 
int calc_10_to_8 (int dec)
    {
    int vos, mod;
    int d10 = 1;
    vos = 0;
 
    while (dec)
    {
        mod = dec % 8;
        dec /= 8;
 
        vos = vos + mod * d10;
        d10 = d10 * 10;
    }
 
    return vos;
    }
 
int calc_10_to_16 (int dec)
    {
 
    int hex, mod;
    int d10 = 1;
    hex = 0;
 
    while (dec)
    {
        mod = dec % 16;
        dec /= 16;
 
        hex = hex + mod * d10;
        d10 = d10 * 10;
    }
        return hex;
    }
 
int main()
{
    int dec, n;
    cin >> dec;
    cin >> n;
    if (n==2)
    cout << calc_10_to_2(dec) << endl;
    else {
            if (n==8) cout << calc_10_to_8(dec) << endl;
            else {
                    if (n==16) cout << calc_10_to_16 (dec) << endl;
                    else cout << "nevernoe osnovanie" << endl;
                }
        }
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2014, 20:53     Написать функцию перевода из 10-й сс в 16-ую
Посмотрите здесь:

Написать функцию со сменным числом параметров для перевода чисел из двичной системы счисления в троичную C++
Определить функцию для перевода из полярных в декартовы координаты C++
Написать функцию для перевода переменной типа long в символьную строку в шестнадцатиричном представлении ( ltoah( long num, char s[]) ) и тестирующую C++
Написать функцию перевода в заданную систему счисления C++
Написать рекурсивную функцию перевода числа с десятичной системы исчисления в двоичную C++
C++ Написать собственную функцию вычисления длины строки,перевода всех введенных букв в заглавные
Написать программу перевода из 10 сс в 16 сс. C++
C++ Написать функцию перевода из 10 в 16-ричну систему

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
helper
70 / 44 / 18
Регистрация: 11.05.2014
Сообщений: 176
14.05.2014, 22:14     Написать функцию перевода из 10-й сс в 16-ую #2
Добрый вечер.
Работайте со строками.

Добавьте
C++
1
#include <string>
И замените свою функцию для перевода вот этой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
string calc_10_to_16 (int dec)
    {
 
    string hex="";
    char sym[16]="0123456789ABCDEF";
 
    while (dec)
    {
        hex = sym[dec&0xf]+hex;
        dec>>=4;
    }
        return hex;
    }
Yandex
Объявления
14.05.2014, 22:14     Написать функцию перевода из 10-й сс в 16-ую
Ответ Создать тему
Опции темы

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