1 / 1 / 0
Регистрация: 11.12.2016
Сообщений: 16
1

Перевод числа в восьмеричную систему счисления

05.06.2017, 11:41. Показов 21916. Ответов 7
Метки нет (Все метки)

Есть ли какая-нибудь функция, которая переводит int'овую переменную из восьмеричной системы счисления в десятичную и наоборот?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2017, 11:41
Ответы с готовыми решениями:

Перевод числа из двоичной в восьмеричную систему счисления
Надо решить следующее задание: С помощью использования логических операторов, составить программу...

Перевод чисел в восьмеричную систему счисления
Есть программа которая переводит число из 10сс в 8сс(по условию) Не проходит только 1 тест когда...

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

Проверка числа на восьмеричную систему счисления. C++
В общем строка char в виде восьмеричного числа. как осуществить проверку на то, что оно...

7
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
05.06.2017, 11:46 2
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
#include "iostream"
#include <clocale>
using namespace std;
void disp_binary(int u);
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    int a,b,c;
    cout<<"Введите число a от 0 do 255: ";
    cin>>a;
    cout<<"Введите число b от 0 do 255: ";
    cin>>b; c=a+b;
    cout<<"Двоичное представление числа а:";
    disp_binary(a);
    cout<<"Двоичное представление числа b:";
    disp_binary(b);
    cout<<"Двоичное представление числа c:";
    disp_binary(c);
        system("pause");
    return 0;
}
 
void disp_binary(int u)
{
    register int i;
    for(i=128;i>0;i=i/2)
        if(u&i) cout<<"1";
        else cout<<"0";
        cout<<"\n";
}
0
1 / 1 / 0
Регистрация: 11.12.2016
Сообщений: 16
05.06.2017, 11:55  [ТС] 3
так она в двоичную переводит, а не в восьмеричную, причём, только в одну сторону
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
05.06.2017, 12:03 4
сstdlib
может быть itoa
0
1173 / 834 / 359
Регистрация: 26.02.2015
Сообщений: 3,743
05.06.2017, 12:09 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main() {
 
    int octNumber = 0201;
    int decNumber = 201;
 
    std::cout
        << octNumber
        << std::endl
        << std::oct
        << decNumber
        << std::endl;
 
    std::system("PAUSE");
    return 0;
 
}
0
93 / 69 / 22
Регистрация: 17.10.2011
Сообщений: 235
05.06.2017, 12:14 6
пример отсюда
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <sstream>
int main()
{
    std::cout << "The number 42 in octal:   " << std::oct << 42 << '\n'
              << "The number 42 in decimal: " << std::dec << 42 << '\n'
              << "The number 42 in hex:     " << std::hex << 42 << '\n';
    int n;
    std::istringstream("2A") >> std::hex >> n;
    std::cout << std::dec << "Parsing "2A" as hex gives " << n << '\n';
    std::istringstream("052") >> std::oct >> n;
    std::cout << std::dec << "Parsing "52" as oct gives " << n << '\n';
 
}
0
1 / 1 / 0
Регистрация: 11.12.2016
Сообщений: 16
05.06.2017, 12:33  [ТС] 7
Цитата Сообщение от Antikl Посмотреть сообщение
может быть itoa
а как с помощью itoa/atoi переводить число из одной сс в другую?
0
837 / 640 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
05.06.2017, 15:57 8
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>
char* dec_to_oct(char* s, int n);
int   oct_to_dec(const char* s);
 
int main(void){
    //преобразовать из dec в oct
    char s1[32], s2[32];
    std::cout << "oct1: " << dec_to_oct(s1,  7000) << std::endl;
    std::cout << "oct2: " << dec_to_oct(s2, -7000) << std::endl;
 
    //преобразовать из oct в dec
    std::cout << "dec1: " << oct_to_dec(s1) << std::endl;
    std::cout << "dec2: " << oct_to_dec(s2) << std::endl;
    std::cin.get();
    return 0;
}
 
//10 -> 8
char* dec_to_oct(char* s, int n){
    char* i, c, *t = s;
    unsigned int x = (unsigned int)n;
    do {
        *s++ = (char)(x & 0x7) + '0';
    } while((x >>= 3) != 0);
    *s = '\0';
 
    for(i = t, --s; i < s; ++i, --s){
        c  = *i;
        *i = *s;
        *s = c;
    }
    return t;
}
 
//8 -> 10
int oct_to_dec(const char* s){
    unsigned int n = 0;
    for(; (*s >= '0' && *s <= '7'); ++s)
        n = n*8U + (unsigned int)(*s - '0');
    return (int)n;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2017, 15:57
Помогаю со студенческими работами здесь

Рекурсия: перевод целого числа из десятичной системы счисления в 9 систему счисления
Написать рекурсивную функцию перевода целого числа из десятичной системы счисления в 9-чную...

Перевод натурального числа из десятичной системы счисления в систему счисления по основанию
Здравствуйте. Я хотела бы попросить у вас помощи. Я понимаю, что это не очень красиво, но вдруг...

Перевод числа из восьмеричной системы счисления в шестнадцатеричную систему счисления
Вот пример числа: 754 = 1EC 1000 = 200

Перевод числа в двоичную систему счисления
Написать программу в С++ С КОММЕНТАРИЯМИ!!!: Написать функцию которая заданное натуральное...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru