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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
raduga_169
Сообщений: n/a
#1

Программа перевода числа из десятичной системы в восмеричную - C++

01.03.2013, 09:55. Просмотров 1701. Ответов 19
Метки нет (Все метки)

Помогите написать программу, всю пару просидели с подругой протупили, а проверка все ошибки выдает
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2013, 09:55     Программа перевода числа из десятичной системы в восмеричную
Посмотрите здесь:

Программа для перевода числа из десятичной системы счисления во все существующие С++ - C++
Помогите пожалуйста. Не совсем понимаю как это правильно написать

Программа для перевода из десятичной системы счисления в двоичную - C++
Программа вроде работает, но почему-то выдает ошибку после вывода результата. Из за этого я не могу продолжить работать уже с переводом...

Функция перевода целого числа из десятичной системы в p - ичную - C++
Нужно перевести число в p - ичную систему, начиная с двоичной и до шестнадцатиричной как дописать чтобы переводилась в 16-чной системе?(...

Рекурсивная процедура перевода числа из десятичной системы счисления в двоичную - C++
3) Написать рекурсивную процедуру перевода нату¬рального числа из десятичной системы счисления в двоич¬ную.

Написать рекурсивную функцию перевода числа с десятичной системы исчисления в двоичную - C++
Здравствуйте! Нужно написать рекурсивную функцию перевода числа с десятичной системы исчисления в двоичную. Примерно знаю как...

Программа перевода числа из 10ой системы в двоичную - C++
Сам код: #include <iostream> using namespace std; int main() { long int i; int value; cout << "Vvedite chislo: "; cin >>...

Программа для перевода числа из одной системы счисления в другую - C++
Разработать программный продукт для перевода целого положительного числа из одной системы счисления в другую. При запуске программы...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
makShot
15 / 15 / 1
Регистрация: 07.07.2011
Сообщений: 38
01.03.2013, 10:00     Программа перевода числа из десятичной системы в восмеричную #2
Покажите, что у вас получилось с подругой.
Croessmah
Модератор
Эксперт CЭксперт С++
13057 / 7320 / 817
Регистрация: 27.09.2012
Сообщений: 18,066
Записей в блоге: 3
Завершенные тесты: 1
01.03.2013, 10:05     Программа перевода числа из десятичной системы в восмеричную #3
C++
1
2
3
4
5
6
7
#include <iostream>
#include <iomanip>
int main(){
    int x;
    std::cin>>x;
    std::cout<<std::setbase(8)<<x<<std::endl;
}
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
01.03.2013, 10:19     Программа перевода числа из десятичной системы в восмеричную #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
char buffer[10];
 
int main(){
    itoa(10, buffer, 8); // переводим число 10 в восмиричную систему в строковом виде
    int value = atoi(buffer);   // из строкового вида назад в деситичную
 
    cout << value << endl; // выводим значение
 
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
6
7
#include <iostream>
#include <iomanip>
int main(){
    int x;
    std::cin>>x;
    std::cout<<std::setbase(8)<<x<<std::endl;
}
у вас только вывод в восмиричном формате. число так и осталось в десятичном.
Croessmah
01.03.2013, 10:36
  #5

Не по теме:

Цитата Сообщение от pontakrin Посмотреть сообщение
число так и осталось в десятичном.
В двоичном если уж на то пошло
Да и Ваше число тоже не изменилось

pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
01.03.2013, 10:38     Программа перевода числа из десятичной системы в восмеричную #6
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:


В двоичном если уж на то пошло
Да и Ваше число тоже не изменилось

почему не изменилось было 10 а стало 12
Croessmah
Модератор
Эксперт CЭксперт С++
13057 / 7320 / 817
Регистрация: 27.09.2012
Сообщений: 18,066
Записей в блоге: 3
Завершенные тесты: 1
01.03.2013, 10:43     Программа перевода числа из десятичной системы в восмеричную #7
Цитата Сообщение от pontakrin Посмотреть сообщение
почему не изменилось было 10 а стало 12
не забывайте, что у Вас было десятичное 10, а стало десятичное 12
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
01.03.2013, 10:47     Программа перевода числа из десятичной системы в восмеричную #8
Цитата Сообщение от Croessmah Посмотреть сообщение
не забывайте, что у Вас было десятичное 10, а стало десятичное 12
с чего это десятичное когда это просто целое. Запусти калькулятор проверь. Или у восмиричного числа есть свой формат )) коментарий только не правильный. надо было написать вместо // из строкового вида назад в деситичную * в число
Croessmah
Модератор
Эксперт CЭксперт С++
13057 / 7320 / 817
Регистрация: 27.09.2012
Сообщений: 18,066
Записей в блоге: 3
Завершенные тесты: 1
01.03.2013, 10:51     Программа перевода числа из десятичной системы в восмеричную #9
Перевод в разные системы счисления возможен только в строковую запись, ибо как ни крути, а в памяти все равно оно будет в двоичном виде. Так зачем сначала переводить в строку, а затем выводить содержимое строки, если можно сразу вывести в нужном формате?

Что касается Вашего кода, то сначала записывается десятичное 10 в buffer, потом содержимое буфера интерпретируется в atoi как десятичное 12 и результат записывается в двоичном виде в память. То есть было число 10, а стало число 12 в той же десятичной системе. Использование atoi так же сомнительно, ибо это не стандартная функция и не везде она присутствует.

Добавлено через 2 минуты
Цитата Сообщение от pontakrin Посмотреть сообщение
с чего это десятичное когда это просто целое.
с того, что cout потом все равно выводит в десятичном виде. Увас получается так:
было десятичное 10
в буфер записалась строка "12" - восьмеричная запись
в atoi 12 интерпретируется как запись десятичного 12 и переменная стала уже 12.
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
01.03.2013, 10:54     Программа перевода числа из десятичной системы в восмеричную #10
Цитата Сообщение от Croessmah Посмотреть сообщение
Перевод в разные системы счисления возможен только в строковую запись, ибо как ни крути, а в памяти все равно оно будет в двоичном виде. Так зачем сначала переводить в строку, а затем выводить содержимое строки, если можно сразу вывести в нужном формате?

Что касается Вашего кода, то сначала записывается десятичное 10 в buffer, потом содержимое буфера интерпретируется в atoi как десятичное 12 и результат записывается в двоичном виде в память. То есть было число 10, а стало число 12 в той же десятичной системе. Использование atoi так же сомнительно, ибо это не стандартная функция и не везде она присутствует.

Добавлено через 2 минуты

с того, что cout потом все равно выводит в десятичном виде. Увас получается так:
было десятичное 10
в буфер записалась строка "12" - восьмеричная запись
в atoi 12 интерпретируется как запись десятичного 12 и переменная стала уже 12.
понял. а что делать когда надо с восмиричным числом осуществлять математиматические операции
Croessmah
Модератор
Эксперт CЭксперт С++
13057 / 7320 / 817
Регистрация: 27.09.2012
Сообщений: 18,066
Записей в блоге: 3
Завершенные тесты: 1
01.03.2013, 11:01     Программа перевода числа из десятичной системы в восмеричную #11
Не знаю как еще объяснить. Поэтому вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <iomanip>
char buffer[10];
 
int main(){
    int x1=10;
    int x2;
    itoa(x1, buffer, 8);
    x2 = atoi(buffer);
    std::cout<<std::setbase(16)<<x1<<std::endl;
    std::cout<<std::setbase(16)<<x2<<std::endl;
    return 0;
}
На выходе получим a и c, хотя по Вашей логике должны были получить a a

Добавлено через 2 минуты
Цитата Сообщение от pontakrin Посмотреть сообщение
а что делать когда надо с восмиричным числом осуществлять математиматические операции
Это какие, например?
Десятичная, восьмеричная и другие СС лишь для глаза человека удобство, а компьютеру наплевать на наше представление - для него все равно это двоичные данные.

Добавлено через 3 минуты
Для нас:
3+3=6
для него:
11+11=110 (ну естественно в байтах)
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
01.03.2013, 11:03     Программа перевода числа из десятичной системы в восмеричную #12
Цитата Сообщение от Croessmah Посмотреть сообщение
Не знаю как еще объяснить. Поэтому вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <iomanip>
char buffer[10];
 
int main(){
    int x1=10;
    int x2;
    itoa(x1, buffer, 8);
    x2 = atoi(buffer);
    std::cout<<std::setbase(16)<<x1<<std::endl;
    std::cout<<std::setbase(16)<<x2<<std::endl;
    return 0;
}
На выходе получим a и c, хотя по Вашей логике должны были получить a a

Добавлено через 2 минуты

Это какие, например?
Десятичная, восьмеричная и другие СС лишь для глаза человека удобство, а компьютеру наплевать на наше представление - для него все равно это двоичные данные.
зачем к x2 при выводе применять шеснатеричную основу

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <iomanip>
char buffer[10];
 
int main(){
    int x1=10;
    int x2;
    itoa(x1, buffer, 8);
    x2 = atoi(buffer);
    std::cout<<std::setbase(16)<<x1<<std::endl;
    std::cout<<x2<<std::endl;
    return 0;
}
я убрал std::setbase(16) и получил тож самое a и с
Croessmah
01.03.2013, 11:05
  #13

Не по теме:

Цитата Сообщение от pontakrin Посмотреть сообщение
я убрал std::setbase(16) и получил тож самое a и с
да хоть так:
C++
1
2
3
    std::cout<<std::setbase(16);
    std::cout<<x1<<std::endl;
    std::cout<<x2<<std::endl;
сие применяется к потоку, а не к переменной

Смысл все равно один - было одно число, после перевода стало другое.

pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
01.03.2013, 11:20     Программа перевода числа из десятичной системы в восмеричную #14
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:


да хоть так:

C++
1
2
3
    std::cout<<std::setbase(16);
    std::cout<<x1<<std::endl;
    std::cout<<x2<<std::endl;
сие применяется к потоку, а не к переменной

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

Добавлено через 12 минут
Цитата Сообщение от ITcrusader Посмотреть сообщение
Что подразумевается под операцией над восьмеричным числом?)
например число в восмеричном виде 12 сложить с восмеричным числом 25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2013, 11:23     Программа перевода числа из десятичной системы в восмеричную
Еще ссылки по теме:

Разработать программу перевода вещественных чисел из десятичной системы счисления в двоичную - C++
Помогите пожалуйста написать программу.Разработать программу перевода вещественных чисел из десятичной системы счисления в двоичную.

Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную - C++
На уроке преподаватель не объясняет как решать. Задачи берутся из &quot;Основы программирования на языке С++&quot; часть 2 Огнева М.В., Кудрина Е.В....

Программа для перевода чисел из 16 системы в 2 на C++ - C++
Нужно написать программу, в которой пользователь вводит число, и оно переводится из 16 в 2. Написать желательно самым понятным и простым...

Программа для перевода чисел из 10 системы в 2 - C++
Народ помогите написать программу для перевода чисел из 10 системы в двоичную В консоле Если надо я могу прислать листинг программы...

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


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13057 / 7320 / 817
Регистрация: 27.09.2012
Сообщений: 18,066
Записей в блоге: 3
Завершенные тесты: 1
01.03.2013, 11:23     Программа перевода числа из десятичной системы в восмеричную #15
Цитата Сообщение от pontakrin Посмотреть сообщение
например число в восмеричном виде 12 сложить с восмеричным числом 25
получим восьмеричное 37
то есть 1010 + 10101 = 11111
Yandex
Объявления
01.03.2013, 11:23     Программа перевода числа из десятичной системы в восмеричную
Ответ Создать тему
Опции темы

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