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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 111, средняя оценка - 4.69
ЛеЖиК)
157 / 60 / 1
Регистрация: 29.04.2011
Сообщений: 631
#1

Перевод в 9-чную систему счисления - C++

02.01.2012, 13:23. Просмотров 14290. Ответов 122
Метки нет (Все метки)

есть задача, что бы решить ее до конца мне надо сделать перевод из 10-тичной(можно любой другой) в девятиричную систему счисления
я бы это сделал сам, если бы не странность системы.
В задание звучит так: Рассмотрим девятеричную позиционную систему счисления с цифрами { B, A, 0, 1, 2, 3, 4, 5, 6 }, где цифра A имеет значение -1, а цифра B – значение -2.

подскажите как сделать этот перевод(функцию или алгоритм)

Добавлено через 49 минут
up
есть идеи?

 Комментарий модератора 
По просьбе одного из авторов, в связи с тем, что тема растянулась, ссылки на решения в этой теме:
Решение 1
Решение 2
Решение 3
Решение 4
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2012, 13:23     Перевод в 9-чную систему счисления
Посмотрите здесь:
C++ "Перевести натуральное число из 8-ричной в 10-чную систему счисления"
C++ Перевод натурального числа из десятичной системы счисления в систему счисления по основанию
C++ Перевод строки из 2-ной системы счисления в 8-ную систему счисления
C++ Перевод чисел из двоичной системы счисления в систему счисления кратной степеням двойки и обратно
Перевод чисел из 16 системы счисления в 2 систему счисления C++
C++ Перевод из 2-ой в 10-ую систему счисления
Перевод чисел из 10 в 15 систему счисления C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
Заблокирован
05.01.2012, 14:54     Перевод в 9-чную систему счисления #31
ну я говорю об этой сс, просто не знаю как ее назвать. отрицательные представлены символами в старшем разряде.

Добавлено через 45 секунд
AA == -10
A0 == -9
A1 == -8
и т.д.
Evg
Эксперт CАвтор FAQ
17539 / 5777 / 370
Регистрация: 30.03.2009
Сообщений: 15,909
Записей в блоге: 26
05.01.2012, 15:10     Перевод в 9-чную систему счисления #32
Я тоже говорю про данную сс. В условии ничего не сказано про отсутствие знака для представления отрицательных чисел, равно как вообще ничего не сказано про представление отрицательных чисел. Может ты что-то ещё знаешь об этой задаче, но ТС об этом не говорил

Добавлено через 11 минут
Хотя какая-то логичность в этом есть....
alkagolik
Заблокирован
05.01.2012, 15:18     Перевод в 9-чную систему счисления #33
Ну и что что не сказано, это вытекает из самой сс, а она хоть и кривая, но полна (самодостаточна). На тритных БИС она не составила бы особой проблемы.
thick_int
Заблокирован
05.01.2012, 18:30     Перевод в 9-чную систему счисления #34
Цитата Сообщение от alkagolik Посмотреть сообщение
все однозначно. Знаков в сс нету
Эта кривая система неоднозначна и с положительными числами.
Например, любое число вида 2^n, где n - число четно можно представить и в виде 2^n и в виде B^n.
Единственно, что может более-менее придать форму некоей корректностиь этой задачи. - это на само деле простой счет, то есть правило посредством которого оссуществляется переход от записи предыдущего числа к записи последующего числа.
А правило это очень простое, если текущий разряд меньше 6, то все проиходит, как с обычной числовой системой, а если больше 6, то происходит его ззамена на B с переносом 1 в более высокий разряд. Ну и разряд, равный B заменяется на A.
alkagolik
Заблокирован
05.01.2012, 18:40     Перевод в 9-чную систему счисления #35
thick_int, свежая и актуальная мысль. Однако будет ли верным "примерять" соглашения десятичной арифметики на арифметику "этой сс"? и почему бы и нет
Цитата Сообщение от thick_int
n - число четно можно представить и в виде 2^n и в виде B^n.
в конце концов в привычной сс все аналогично: http://www.cyberforum.ru/cgi-bin/latex.cgi?(-2==B_{9})^{2}=(2==2_{9})^{2}=4. Почему-то лень моделировать троичную логику на двоичных векторах.
thick_int
Заблокирован
05.01.2012, 18:55     Перевод в 9-чную систему счисления #36
Да и еще, те кто считает, что отрицательных знаков в этой системе быть не должно, очень ошибаются.
Поробуйте для начала представить в этой системе -3 и убедитесь в том, что без знака минуса это никак нельзя.
Evg
Эксперт CАвтор FAQ
17539 / 5777 / 370
Регистрация: 30.03.2009
Сообщений: 15,909
Записей в блоге: 26
05.01.2012, 18:56     Перевод в 9-чную систему счисления #37
Цитата Сообщение от thick_int Посмотреть сообщение
Поробуйте для начала представить в этой системе -3 и убедитесь в том, что без знака минуса это никак нельзя.
A6 = -1 * 9 + 6 = -3
alkagolik
Заблокирован
05.01.2012, 19:02     Перевод в 9-чную систему счисления #38
Цитата Сообщение от thick_int Посмотреть сообщение
без знака минуса это никак нельзя.
уже evg показал что можно... А разве в регистрах компьютеров есть знаки + и -?
Evg
Эксперт CАвтор FAQ
17539 / 5777 / 370
Регистрация: 30.03.2009
Сообщений: 15,909
Записей в блоге: 26
05.01.2012, 19:14     Перевод в 9-чную систему счисления #39
Цитата Сообщение от alkagolik Посмотреть сообщение
А разве в регистрах компьютеров есть знаки + и -?
У плавающих есть. У целочисленных - на основной массе процессоров нет, потому как используется система представления целых чисел в дополнительном коде. Но есть и такие процессоры (сигнальные), где используется и система хранения с знаком

Добавлено через 55 секунд
thick_int, ты не мне плюсик ставь, а alkagolik'у, это он прочухал про такое хранение отрицательных чисел
thick_int
Заблокирован
05.01.2012, 19:20     Перевод в 9-чную систему счисления #40
Да я тоже почитал только то про такие системы и действительно в таких системах знак минус отсутствует.
alkagolik
Заблокирован
05.01.2012, 19:27     Перевод в 9-чную систему счисления #41
Цитата Сообщение от Evg Посмотреть сообщение
У плавающих есть.
Цитата Сообщение от Evg Посмотреть сообщение
Но есть и такие процессоры (сигнальные), где используется и система хранения с знаком
кинь пруф или серию
Evg
Эксперт CАвтор FAQ
17539 / 5777 / 370
Регистрация: 30.03.2009
Сообщений: 15,909
Записей в блоге: 26
05.01.2012, 19:38     Перевод в 9-чную систему счисления #42
Про плавающие - стандарт ieee-754. Про целые - например http://ru.wikipedia.org/wiki/%D0%9E%...1%D0%BB%D0%B0)

Добавлено через 1 минуту
Да и собственно в дополнительном коде старший бит при знаковой трактовке можно рассматривать как плюс (ноль) или минус (единица)
alkagolik
Заблокирован
05.01.2012, 19:44     Перевод в 9-чную систему счисления #43
а, ты про это. Это понятно, для знака выделен бит, знамо с начала обучения. Я имел ввиду что самого знака (отдельного напряжения в цепи) в регистрах нету, а сам знак представлен старшим битом как в целых так и с плавающей точкой. В контексте данного трэда знаковый вопрос считаю актуальным. A == B == '-', из чего выводим что знаковый разряд имеет 3 состояния: одно положительное и 2 отрицательных. Короче все непривычно, но если есть желание то несложно разобрать по косточкам.
Evg
Эксперт CАвтор FAQ
17539 / 5777 / 370
Регистрация: 30.03.2009
Сообщений: 15,909
Записей в блоге: 26
05.01.2012, 19:55     Перевод в 9-чную систему счисления #44
Если опуститься на такой уровень, то знака вообще ни в каких машинах нет. В машинах есть только состояния 0 или 1, а дальше они уже ТРАКТУЮТСЯ нужными операциями нужным образом. В случае нашей системы счисления на машине, которая оперирует девятью уровнями напряжения, знаков тоже бы никаких не было. В каждом разряде регистра имеется напряжение одного из 9 значений (причём абсолютно пофигу какие конкретно абсолютные значения у этих уровней). А дальше просто эти уровни ТРАКТУЮТСЯ операциями
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2012, 19:58     Перевод в 9-чную систему счисления
Еще ссылки по теме:
C++ Перевод в двоичную систему счисления
Перевод в 12-ричную систему счисления C++
C++ Перевод чисел из 10-й в 2-ю систему счисления
Перевод в заданную систему счисления C++
C++ Перевод из десятичной в N систему счисления

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

Или воспользуйтесь поиском по форуму:
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
05.01.2012, 19:58     Перевод в 9-чную систему счисления #45
В этой задаче, я практически уверен, есть какая-то хитрость. Я вот ее не нашел. Если бы автор темы предложил бы нам к просмотру вариант решения задачи от преподавателя. Вот было бы интересно.

thick_int
Например, любое число вида 2^n, где n - число четно можно представить и в виде 2^n и в виде B^n.
я вас не совсем понял. вы когда в десятичной системе исчесления берете число -2 и возводите в четную степень то результат будет такой же как и с числом 2. Так что тут не логичного?

На мой взгляд если считать что нет знака минус то система очень даже достаточна.
Yandex
Объявления
05.01.2012, 19:58     Перевод в 9-чную систему счисления
Ответ Создать тему
Опции темы

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