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

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

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

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

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

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

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

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

 Комментарий модератора 
По просьбе одного из авторов, в связи с тем, что тема растянулась, ссылки на решения в этой теме:
Решение 1
Решение 2
Решение 3
Решение 4
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2012, 13:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод в 9-чную систему счисления (C++):

"Перевести натуральное число из 8-ричной в 10-чную систему счисления" - C++
Добрый вечер) Друзья помогите пожалуйста составить программку) Условие задачи: Целое длинное число A задается в диалоговом режиме. ...

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

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

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

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

Перевод из 2-ой в 10-ую систему счисления - C++
как делать?

122
alkagolik
Заблокирован
05.01.2012, 14:54 #31
ну я говорю об этой сс, просто не знаю как ее назвать. отрицательные представлены символами в старшем разряде.

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

Добавлено через 11 минут
Хотя какая-то логичность в этом есть....
0
alkagolik
Заблокирован
05.01.2012, 15:18 #33
Ну и что что не сказано, это вытекает из самой сс, а она хоть и кривая, но полна (самодостаточна). На тритных БИС она не составила бы особой проблемы.
0
thick_int
Заблокирован
05.01.2012, 18:30 #34
Цитата Сообщение от alkagolik Посмотреть сообщение
все однозначно. Знаков в сс нету
Эта кривая система неоднозначна и с положительными числами.
Например, любое число вида 2^n, где n - число четно можно представить и в виде 2^n и в виде B^n.
Единственно, что может более-менее придать форму некоей корректностиь этой задачи. - это на само деле простой счет, то есть правило посредством которого оссуществляется переход от записи предыдущего числа к записи последующего числа.
А правило это очень простое, если текущий разряд меньше 6, то все проиходит, как с обычной числовой системой, а если больше 6, то происходит его ззамена на B с переносом 1 в более высокий разряд. Ну и разряд, равный B заменяется на A.
1
alkagolik
Заблокирован
05.01.2012, 18:40 #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. Почему-то лень моделировать троичную логику на двоичных векторах.
0
thick_int
Заблокирован
05.01.2012, 18:55 #36
Да и еще, те кто считает, что отрицательных знаков в этой системе быть не должно, очень ошибаются.
Поробуйте для начала представить в этой системе -3 и убедитесь в том, что без знака минуса это никак нельзя.
0
Evg
Эксперт CАвтор FAQ
17934 / 6162 / 409
Регистрация: 30.03.2009
Сообщений: 16,918
Записей в блоге: 27
05.01.2012, 18:56 #37
Цитата Сообщение от thick_int Посмотреть сообщение
Поробуйте для начала представить в этой системе -3 и убедитесь в том, что без знака минуса это никак нельзя.
A6 = -1 * 9 + 6 = -3
1
alkagolik
Заблокирован
05.01.2012, 19:02 #38
Цитата Сообщение от thick_int Посмотреть сообщение
без знака минуса это никак нельзя.
уже evg показал что можно... А разве в регистрах компьютеров есть знаки + и -?
1
Evg
Эксперт CАвтор FAQ
17934 / 6162 / 409
Регистрация: 30.03.2009
Сообщений: 16,918
Записей в блоге: 27
05.01.2012, 19:14 #39
Цитата Сообщение от alkagolik Посмотреть сообщение
А разве в регистрах компьютеров есть знаки + и -?
У плавающих есть. У целочисленных - на основной массе процессоров нет, потому как используется система представления целых чисел в дополнительном коде. Но есть и такие процессоры (сигнальные), где используется и система хранения с знаком

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

Добавлено через 1 минуту
Да и собственно в дополнительном коде старший бит при знаковой трактовке можно рассматривать как плюс (ноль) или минус (единица)
0
alkagolik
Заблокирован
05.01.2012, 19:44 #43
а, ты про это. Это понятно, для знака выделен бит, знамо с начала обучения. Я имел ввиду что самого знака (отдельного напряжения в цепи) в регистрах нету, а сам знак представлен старшим битом как в целых так и с плавающей точкой. В контексте данного трэда знаковый вопрос считаю актуальным. A == B == '-', из чего выводим что знаковый разряд имеет 3 состояния: одно положительное и 2 отрицательных. Короче все непривычно, но если есть желание то несложно разобрать по косточкам.
0
Evg
Эксперт CАвтор FAQ
17934 / 6162 / 409
Регистрация: 30.03.2009
Сообщений: 16,918
Записей в блоге: 27
05.01.2012, 19:55 #44
Если опуститься на такой уровень, то знака вообще ни в каких машинах нет. В машинах есть только состояния 0 или 1, а дальше они уже ТРАКТУЮТСЯ нужными операциями нужным образом. В случае нашей системы счисления на машине, которая оперирует девятью уровнями напряжения, знаков тоже бы никаких не было. В каждом разряде регистра имеется напряжение одного из 9 значений (причём абсолютно пофигу какие конкретно абсолютные значения у этих уровней). А дальше просто эти уровни ТРАКТУЮТСЯ операциями
0
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
05.01.2012, 19:58 #45
В этой задаче, я практически уверен, есть какая-то хитрость. Я вот ее не нашел. Если бы автор темы предложил бы нам к просмотру вариант решения задачи от преподавателя. Вот было бы интересно.

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

На мой взгляд если считать что нет знака минус то система очень даже достаточна.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2012, 19:58
Привет! Вот еще темы с ответами:

Перевод из десятичной в N систему счисления - C++
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main () { int osn2, chislo,z=0,i=0,a,b; ...

Перевод в двоичную систему счисления - C++
Пожалуйста, помогите с задачкой. Даны два числа a, b их нужно сперва перевести в двоичную систему счисления (сами они из десятичной), а...

Перевод в 12-ричную систему счисления - C++
помогите , подскажите как правильно перевести

Перевод в заданную систему счисления - C++
Дано задание: Написать функцию, которая получает в качестве аргументов целое положительное число и систему счисления, в которую это число...


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

Или воспользуйтесь поиском по форуму:
45
Yandex
Объявления
05.01.2012, 19:58
Ответ Создать тему
Опции темы

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