Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
#1

Калькулятор в любой системе счисления - C++

24.04.2014, 17:51. Просмотров 3224. Ответов 19
Метки нет (Все метки)

Добрый день. Нужно сделать калькулятор в 2-16ричной системе счисления. Проблема в том, что вычислять можно только напрямую, без перевода в другую систему и обратно. Есть какой-нибудь универсальный способ вычисления?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 17:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Калькулятор в любой системе счисления (C++):

Калькулятор в любой системе счисления - C++
Добрый день, нужно написать что-то типа этого http://numsys.ru/#feedback. Подскажите пожалуйста, как реализовать двоичный-шестнадцатиричный...

Калькулятор: выполнение арифметических операций в любой системе счисления - C++
Нужен калькулятор который может совершать арифметичиские операции(+,-,*,/) в любой системе исчисления (2-16)

Проверить корректность числа в заданной системе счисления и перевести в другую систему счисления - C++
На вычислительной практике дали такое задание: С клавиатуры вводятся 2 положительных целых числа: число A (в системе счисления с...

Перевести число из любой системы счисления (2, 8, 16) в десятичную - C++
Надо перевести число с любой численной системы (2,8,16) в десятичную. Кому не трудно, помогите)

Калькулятор в двоичной системе - C++
Сложение в двоичной системе. Подскажите почему не верные ответы выдает? #include "stdafx.h" #include <iostream> #include <string> ...

Умножение в 4-системе счисления - C++
Здравствуйте, мне нужно написать программу которая перемножает числа в 4 системе счисления. Я написал с переводом в 10, то есть перевел в...

19
newbie666
Заблокирован
24.04.2014, 17:56 #2
Цитата Сообщение от niikiita Посмотреть сообщение
Проблема в том, что вычислять можно только напрямую, без перевода в другую систему и обратно
вопрос не ясен
0
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
24.04.2014, 17:59  [ТС] #3
Цитата Сообщение от newbie666 Посмотреть сообщение
вопрос не ясен
Ну обычно, сначала число переводят в десятичную форму, выполняют арифметические операции, и потом обратно в исходную форму. А мне нужно чтобы вычислял напрямую.
0
newbie666
Заблокирован
24.04.2014, 18:05 #4
Цитата Сообщение от niikiita Посмотреть сообщение
А мне нужно чтобы вычислял напрямую.
тебе на "табло" твоего калка нужен правильный ответ в выбранной системе исчисления или же ты думаешь вычислять даже все значение в своих системах исчисления? Если последнее - я тебя огорчу, любой существующий ЭВМ производит все операции в двоичном виде, вне зависимости от их типа в языке программирования
0
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
24.04.2014, 18:08  [ТС] #5
Цитата Сообщение от newbie666 Посмотреть сообщение
тебе на "табло" твоего калка нужен правильный ответ в выбранной системе исчисления или же ты думаешь вычислять даже все значение в своих системах исчисления? Если последнее - я тебя огорчу, любой существующий ЭВМ производит все операции в двоичном виде, вне зависимости от их типа в языке программирования
На табло нужен правильный. Но препод сказал чтобы без перевода в другие системы счисления...
0
newbie666
Заблокирован
24.04.2014, 18:10 #6
Цитата Сообщение от niikiita Посмотреть сообщение
Но препод
ну и пошли его
0
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
24.04.2014, 18:11  [ТС] #7
Цитата Сообщение от newbie666 Посмотреть сообщение
ну и пошли его
интересная мысль, но в армию как-то не хочется(
0
newbie666
Заблокирован
24.04.2014, 18:19 #8
Цитата Сообщение от niikiita Посмотреть сообщение
но в армию как-то не хочется
А что - пойдёшь на украину бэнэров гасить

А Если серьёзно, то ты наверное задание не правильно понял, что ты думаешь, ты ввёл в своём калькуляторе:
10001011011101 умножить на 10000001000001 и в С++ будет функция, умножить бинарно?
Какую бы ты переменную не завёл, int, char, DWORD и тд, они все хранят в себе одно значение, представить это значение можно в любой системе, но операции над числами процессор будет производить в бинарном виде, думаю архитектура процессоров тебя не интересует
0
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
24.04.2014, 18:36  [ТС] #9
Цитата Сообщение от newbie666 Посмотреть сообщение
А что - пойдёшь на украину бэнэров гасить
Поздно, уже учения на границе проводим. В течении одной двух недель думаю разберутся с Украиной.

Что-то я запутался. Программа должна выглядеть так: я выбираю систему счисления - например пятеричную, потом выбираю операцию (+-*/), далее выбираю второе число в этой же системе, и получаю ответ. Мне чётко сказали, что не примут, если я переведу например эту пятеричную систему в десятичную, выполню операции в ней и переведу обратно. Каким образом можно это осуществить?
0
pav1uxa
1855 / 1709 / 645
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
24.04.2014, 18:53 #10
Цитата Сообщение от niikiita Посмотреть сообщение
Программа должна выглядеть так: я выбираю систему счисления - например пятеричную, потом выбираю операцию (+-*/), далее выбираю второе число в этой же системе, и получаю ответ. Мне чётко сказали, что не примут, если я переведу например эту пятеричную систему в десятичную, выполню операции в ней и переведу обратно. Каким образом можно это осуществить?
Тебе задали задание написать программу, которая бы в ЛЮБОЙ системе счисления выполняла операции сложения\вычитания\умножения\деления без перевода даже в двоичную систему счисления? Ты докторскую пишешь что ли?
0
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
24.04.2014, 18:56  [ТС] #11
Цитата Сообщение от pav1uxa Посмотреть сообщение
Тебе задали задание написать программу, которая бы в ЛЮБОЙ системе счисления выполняла операции сложения\вычитания\умножения\деления? Ты диплом пишешь или что?
Не в любой, от двоичной до 16ричной, до 20 цифр после запятой. Нет, первый курс второй семестр. Вот так примерно должна "выглядить" http://numsys.ru/?flavour=full. Только без перевода.
0
Kuzia domovenok
2130 / 1959 / 197
Регистрация: 25.03.2012
Сообщений: 6,826
Записей в блоге: 1
24.04.2014, 20:21 #12
Я хочу всем напомнить, что все численные переменные в программе хранятся в двоичной и только в двоичной системе. То, что вы видете десятичные цифры на экране во время работы с программой - это текст. То есть функции ввода-вывода преобразуют двоичную переменную из памяти в десятичную строку в неком текстовом буфере, а затем этот буфер выводят на экран. Недаром функция носит название printf! "формат"! То есть она форматирует данные в строку перед выводом на экран.
поэтому имеет смысл говорить только о преобразовании двоичных чисел в n-ричные строки.
0
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
24.04.2014, 20:29  [ТС] #13
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
поэтому имеет смысл говорить только о преобразовании двоичных чисел в n-ричные строки.
Есть какое-нибудь общее правило арифметических операций для n-ичных систем? Я просто не могу понять как написать такую программу, что типа выбирается система, например 7, и и дальше использовать свич, и в 7ичной системе писать цикл вычисления именно в этой системе?
0
newbie666
Заблокирован
24.04.2014, 20:37 #14
Цитата Сообщение от niikiita Посмотреть сообщение
дальше использовать свич, и в 7ичной системе писать цикл вычисления именно в этой системе?
ты не догоняешь, о чём тебе говорят. На языке программирования ты можешь писать переменные в различных системах, но операции на центральном процессоре всё равно будут производится в двоичном виде, про полупроводники слыхал?
Твоя задача калькулятора состоит в том, чтоб юзер ввёл в какой то систему цифру, ты бы эту строку распарсил и преобразовал к какую - то переменную, произвёл бы действие и результат преобразовал в исходную систему и отобразил бы результирующюю строку на экране
1
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
24.04.2014, 20:41  [ТС] #15
Цитата Сообщение от newbie666 Посмотреть сообщение
ты не догоняешь, о чём тебе говорят. На языке программирования ты можешь писать переменные в различных системах, но операции на центральном процессоре всё равно будут производится в двоичном виде, про полупроводники слыхал?
Твоя задача калькулятора состоит в том, чтоб юзер ввёл в какой то систему цифру, ты бы эту строку распарсил и преобразовал к какую - то переменную, произвёл бы действие и результат преобразовал в исходную систему и отобразил бы результирующюю строку на экране
Нет я понял про двоичный. Что значит распарсил строку? Хорошо, допустим вводит пользователь число 4234, в пятеричной системе. Что мне дальше нужно сделать программно?
0
24.04.2014, 20:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2014, 20:41
Привет! Вот еще темы с ответами:

Калькулятор в двоичной системе (схемотехника) - C++
Помогите написать код для программы proteus isis Калькулятор в двоичной системе предмет схемотехника(ниже прикладываю фото схемы)и...

Сложение в 16 ичной системе счисления - C++
Вот написал программу сложения в 2-10ичной системах счисления, подскажите пожалуйста, каким образом её можно доделать, чтобы она считала в...

Представление числа в k-ой системе счисления - C++
Помогите, пожалуйста, надо написать полноценную программу перевода числа в систему счисления по основанию k. На входе программы — число для...

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


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

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

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