Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Пользователь18
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 20
1

Сложение чисел 11-ричной системы счисления

10.05.2015, 11:53. Просмотров 750. Ответов 1
Метки нет (Все метки)

Всем привет, нужно произвести операции сложения и вычитания чисел в одиннадцатиричной системе счисления.
Допустим есть массив {0,1,2,3,4,5,6,7,8,9,a} и еще какой нибудь похожий. И сделать с ними ЭТО.
помогите пожалуйста
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2015, 11:53
Ответы с готовыми решениями:

Составить программу перевода чисел из 11-ричной системы счисления в 6-ричную
Составить программу перевода чисел из 11-ричной системы счисления в 6-ричную....

Алфавит 70-ричной системы счисления
ПОмогите! К примеру я макс. могу использовать 36-ричную, и как сказано в...

Функция перевода из 16-ричной системы счисления в десятичную
Есть ли в си++ такая фун-я?

Перевести число из 4-ричной системы счисления в 18-ричную и наоборот
Перевести число из 4-ричной системы счисления в 18-ричную и наоборот

Системы счисления 2 и 16, выполнить операцию сложение
Помогите пожалуйста, если возможно, то с объяснением.

1
porshe
52 / 46 / 42
Регистрация: 18.07.2014
Сообщений: 194
10.05.2015, 14:06 2
Лучший ответ Сообщение было отмечено Пользователь18 как решение

Решение

Вот класс для работы с 11-ричными числами. Остальное допишите сами.
Кликните здесь для просмотра всего текста

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <iostream>
#include <cmath>
#include <string>
 
class int11
{
 
    friend int11 operator+ ( const int11 &num1, const int11 &num2 )
    {
        return int11( num1.value + num2.value );
    }
 
    friend int11 operator- ( const int11 &num1, const int11 &num2 )
    {
        return int11( num1.value - num2.value );
    }
 
    friend std::ostream &operator<< ( std::ostream &stream, const int11 &num );
    friend std::istream &operator>> ( std::istream &stream, int11 &num );
 
public:
    int11(): value( 0 ) {}
    int11( int val ): value( val ) {}
 
 
    operator int() const
    {
        return value;
    }
 
private:
    int value;
};
 
 
std::ostream &operator<< ( std::ostream &stream, const int11 &num )
{
 
    std::string out;
 
    int temp = num.value;
 
    while ( temp >= 11 )
    {
 
        if ( temp % 11 == 10 )
        {
            out += 'A';
        }
        else
        {
            out += ('0' + temp % 11);
        }
        temp /= 11;
    }
 
    if ( temp % 11 == 10 )
    {
        out += 'A';
    }
    else
    {
        out += ('0' + temp % 11);
    }
 
    for ( std::size_t i = out.size() - 1; i > 0; i-- )
        stream << out[i];
    stream << out[0];
 
    return stream;
}
 
std::istream &operator>> ( std::istream &stream, int11 &num )
{
 
    std::string str_num;
    stream >> str_num;
 
    num.value = 0;
 
 
    std::size_t p = str_num.size() - 1;
    std::size_t index = 0;
 
 
    if ( str_num[0] == '-' )
    {
        index = 1;
        p--;
    }
 
 
    for ( ; index < str_num.size(); index++, p-- )
    {
        if ( str_num[index] == 'a' || str_num[index] == 'A' )
        {
            num.value += 10 * std::pow( 11, p );
        }
        else
        {
            num.value += ( str_num[index] - '0' ) * std::pow( 11, p );
        }
    }
 
    if ( str_num[0] == '-' )
    {
        num.value = -num.value;
    }
 
    return stream;
}
 
int main()
{
 
    std::cout << "Введите количество элементов: ";
 
    int n;
    std::cin >> n;
 
 
    int11 *mass = new int11[n];
    for ( int i = 0; i < n; i++ )
    {
        std::cout << "Введите элемент [" << ( i + 1 ) << "]: ";
        std::cin >> mass[i];
    }
 
    //Ваш код по работе с массивом 11-ричных чисел
 
 
    delete []mass;
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2015, 14:06

Программа обучения переводу чисел из десятичной системы счисления в 2 10 и 16 систем счисления
дали задание составить программу нужно чтобы на экран выводилось это: ...

Перевод чисел из двоичной системы счисления в систему счисления кратной степеням двойки и обратно
Нужно две программы, одна реализует перевод чисел из двоичной системы счисления...

Перевод чисел из 16 системы счисления в 2 систему счисления
Помогите составить программу для перевод чисел из 16 с/c в 2 c/c при...


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

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

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