Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2012, 15:09   #1
VladJAy
Пользователь
 
Регистрация: 23.10.2012
Сообщений: 26
По умолчанию Перевод из 3 в 2 систему счисления на С++

Напишите кто может, больно сложный перевод, не могу написать
VladJAy вне форума Ответить с цитированием
Старый 25.10.2012, 15:13   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
не могу написать
а пробовал? Пробы - в студию
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 25.10.2012, 15:15   #3
VladJAy
Пользователь
 
Регистрация: 23.10.2012
Сообщений: 26
По умолчанию

Честно говоря там пробы то ужасающие... Обычные, например из 10 в 2, пишу. А такие вот даже особо не представляю
VladJAy вне форума Ответить с цитированием
Старый 25.10.2012, 15:27   #4
kuli4ok
Пользователь
 
Регистрация: 23.09.2012
Сообщений: 32
По умолчанию

Если троичная система то получается три значения, 00 - нуль в троичной 01 - единица в троичной и 10 двойка в троичной. Значений не так много, так что для перевода из троичной в двоичную можно сделать такую последовательность действий:
1. Записываем двоичное число по цифре в массив.
2. Через switch или if делаем перевод.
3. Записываем троичное число по цифре в массив.
На выходе получим разбитый на цифры массив троичных значений. Вот и все, обратный перевод почти так же, только в обратном порядке. Код думаю напишешь сам, если писал перевод из десятичных в двоичные.
Я помог вам? Помогите и вы мне:
WMZ: Z401849412998
WMR: R251473869576
kuli4ok вне форума Ответить с цитированием
Старый 25.10.2012, 15:32   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
Вопрос

Цитата:
Сообщение от kuli4ok Посмотреть сообщение
Если троичная система то получается три значения, 00 - нуль в троичной 01 - единица в троичной и 10 двойка в троичной. Значений не так много, так что для перевода из троичной в двоичную можно сделать такую последовательность действий:
1. Записываем двоичное число по цифре в массив.
2. Через switch или if делаем перевод.
3. Записываем троичное число по цифре в массив.
На выходе получим разбитый на цифры массив троичных значений. Вот и все, обратный перевод почти так же, только в обратном порядке. Код думаю напишешь сам, если писал перевод из десятичных в двоичные.

И как Вы собрались таким алгоритмом переводить, скажем, 10111011?
Abstraction вне форума Ответить с цитированием
Старый 25.10.2012, 15:37   #6
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Ну а как обычно осуществляется перевод? Естественно, делением на основание нужной системы счисления и вычислением остатков от этого деления.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 25.10.2012, 15:42   #7
VladJAy
Пользователь
 
Регистрация: 23.10.2012
Сообщений: 26
По умолчанию

Это понятно конечно, понять не могу как код написать, представление, алгоритм понятен, а вот код не могу
VladJAy вне форума Ответить с цитированием
Старый 25.10.2012, 15:43   #8
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от VladJAy Посмотреть сообщение
Это понятно конечно, понять не могу как код написать, представление, алгоритм понятен, а вот код не могу
Выше приведено число в двоичной записи. Переведите его в троичную (без программы, руками), аккуратно расписывая шаги.
Abstraction вне форума Ответить с цитированием
Старый 25.10.2012, 15:46   #9
kuli4ok
Пользователь
 
Регистрация: 23.09.2012
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение

И как Вы собрались таким алгоритмом переводить, скажем, 10111011?
10111011 делим на 4 части
10 11 10 11
2222 в троичной. т.к. больше 2-ки значений быть не может, и 11 в двоичной получается равен 10 в двоичной (если переводить в троичную).
Я помог вам? Помогите и вы мне:
WMZ: Z401849412998
WMR: R251473869576
kuli4ok вне форума Ответить с цитированием
Старый 25.10.2012, 15:49   #10
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
Печаль

Цитата:
Сообщение от kuli4ok Посмотреть сообщение
10111011 делим на 4 части
10 11 10 11
2222 в троичной. т.к. больше 2-ки значений быть не может.
Интересный подход. 10111011=11101111, по-Вашему? С утра это были разные числа, и ни одно из них не равно 80 (которое в двоичной системе записывается как 1010000, а в троичной - как 2222).
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из десятеричной в двоичную систему счисления idShura Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 13.06.2012 19:39
Перевод числа в др систему счисления! diallfam Помощь студентам 1 01.05.2012 12:09
Перевод вещественного числа из 10 в 2 Систему счисления. [С++] Veselyn Помощь студентам 9 17.01.2010 00:39
перевод из 4-ной в 3-ную систему счисления Mike07 Помощь студентам 1 07.10.2007 18:53