Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/30: Рейтинг темы: голосов - 30, средняя оценка - 5.00
51 / 51 / 8
Регистрация: 31.10.2012
Сообщений: 481
1

Перевод из восьмеричной в десятичную СС

10.01.2014, 16:20. Показов 5944. Ответов 4
Метки нет (Все метки)

Добрый день.

Каким способом можно организовать перевод из восьмеричной в десятичную систему счисления?
Перевод в двоичную из десятичной реализовал, теперь нужно это: пользователь вводит число в восьмеричной системе, а программа выполняет свою задачу.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2014, 16:20
Ответы с готовыми решениями:

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

Функция: перевод заданного в восьмеричной системе числа a в десятичную систему
Перевести заданное в восьмеричной системе число a в десятичную систему, используя функцию перевода.

Написать рекурсивный алгоритм перевода из двоичной системы счисления в десятичную ( из восьмеричной и шестнадцатеричной в десятичную)
Написать рекурсивный алгоритм перевода из двоичной системы счисления в десятичную ( из восьмеричной...

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

4
7 / 7 / 3
Регистрация: 21.05.2013
Сообщений: 30
10.01.2014, 16:38 2
"Перевести натуральное число из 8-ричной в 10-чную систему счисления"

может это поможет
1
51 / 51 / 8
Регистрация: 31.10.2012
Сообщений: 481
10.01.2014, 17:29  [ТС] 3
Foat, опа-па, спасибо.
Оказывается, я забыл проставить амперсанд при вводе.

Добавлено через 31 минуту
Однако вот какая ситуация. Теперь не работает перевод в двоичную систему. Сделал что-то не так. :с
0
43 / 43 / 15
Регистрация: 10.09.2013
Сообщений: 293
10.01.2014, 17:48 4
Вот программа для перевода чисел в различные системы счисления. В конструктор передается число и исходная система счисления, потом нужно вызвать метод convertTo(to_system) который вернет число в новой системе счисления.

converter.h
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
#include <vector>
#include <string>
 
using namespace std;
 
 
class Converter{
private:
    vector<int> a;
    int iriginal;
public:
 
    Converter(string str, int original){
        iriginal = original;
        for ( int i=0; i < str.length(); i++ ){
            a.push_back(charToInt(str[i]));
        }
    }
    Converter(){
 
    }
 
    int charToInt(char c){
        if ( c >= '0' && c <= '9' && (c - '0') < iriginal ){
            return c - '0';
        }else{
            if ( c >= 'A' && c <= 'Z' && (c - 'A') < iriginal ){
                return c - 'A' + 10;
            }else {
                return -1;
            }
        }
    }
    char intToChar(int c){
        if ( c >= 0 && c <= 9 ){
            return c + '0';
        }else{
            return c + 'A' - 10;
        }
    }
    int nextNumber(int final){
        int temp = 0;
        for ( int i = 0; i<a.size(); i++){
            temp = temp*iriginal + a[i];
            a[i] = temp / final;
            temp = temp % final;
        }
        return temp;
    }
 
    bool zero(){
        for ( int i=0; i<a.size(); i++ ){
            if ( a[i] != 0 ){
                return false;
            }
        }
        return true;
    }
    string convertTo(int final){
        vector<int> b;
        int size = 0;
        do {
            b.push_back(nextNumber(final));
            size++;
        }while( !zero() );
 
        string sTemp="";
        for (int i=b.size()-1; i>=0; i--){
            sTemp += intToChar(b[i]);
        }
    return sTemp;
    }
};
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <iostream>
#include <time.h>
#include <converter.h>
 
int main()
{
    Converter conv("234",10);
    cout << conv.convertTo(2);
 
    return 0;
}
0
51 / 51 / 8
Регистрация: 31.10.2012
Сообщений: 481
10.01.2014, 18:08  [ТС] 5
Insane__, слишком сложно. Знаю, что можно проще, но реализовать не получается.
Я должен ввести число в восьмеричной системе счисления, а программ должна отобразить только двоичную.
Алгоритм подобный уже был, но он не работает конкретно с восьмеричной системой.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2014, 18:08

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

Перевод чисел из восьмеричной в десятичную систему счисления
Надобно перевести два двузначных числа из восьмеричной в десятичную систему счисления. Вот мои...

Перевод чисел из восьмеричной системы счисления в десятичную, шестнадцатеричную, и двоичную
Перевод чисел из восьмеричной системы счисления в десятичную, шестнадцатеричную, и двоичную. Срочно...

Из восьмеричной в десятичную
Напишите программу, которая переводит целое число (возможно, отрицательное) из восьмеричной системы...


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

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

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