186 / 61 / 4
Регистрация: 29.04.2011
Сообщений: 641
|
|||||||
1 | |||||||
Перевод в 9-чную систему счисления02.01.2012, 13:23. Показов 22423. Ответов 122
Метки нет (Все метки)
есть задача, что бы решить ее до конца мне надо сделать перевод из 10-тичной(можно любой другой) в девятиричную систему счисления
я бы это сделал сам, если бы не странность системы. В задание звучит так: Рассмотрим девятеричную позиционную систему счисления с цифрами { B, A, 0, 1, 2, 3, 4, 5, 6 }, где цифра A имеет значение -1, а цифра B – значение -2. подскажите как сделать этот перевод(функцию или алгоритм) Добавлено через 49 минут up есть идеи?
0
|
02.01.2012, 13:23 | |
Ответы с готовыми решениями:
122
"Перевести натуральное число из 8-ричной в 10-чную систему счисления" Рекурсия: перевод целого числа из десятичной системы счисления в 9 систему счисления Перевод числа из 8-ичной системы счисления в 16-ричную систему счисления и обратно. Перевод натурального числа из десятичной системы счисления в систему счисления по основанию |
05.01.2012, 19:38 | 42 |
Про плавающие - стандарт ieee-754. Про целые - например http://ru.wikipedia.org/wiki/%... %BB%D0%B0)
Добавлено через 1 минуту Да и собственно в дополнительном коде старший бит при знаковой трактовке можно рассматривать как плюс (ноль) или минус (единица)
0
|
Заблокирован
|
|
05.01.2012, 19:44 | 43 |
а, ты про это. Это понятно, для знака выделен бит, знамо с начала обучения. Я имел ввиду что самого знака (отдельного напряжения в цепи) в регистрах нету, а сам знак представлен старшим битом как в целых так и с плавающей точкой. В контексте данного трэда знаковый вопрос считаю актуальным. A == B == '-', из чего выводим что знаковый разряд имеет 3 состояния: одно положительное и 2 отрицательных. Короче все непривычно, но если есть желание то несложно разобрать по косточкам.
0
|
05.01.2012, 19:55 | 44 |
Если опуститься на такой уровень, то знака вообще ни в каких машинах нет. В машинах есть только состояния 0 или 1, а дальше они уже ТРАКТУЮТСЯ нужными операциями нужным образом. В случае нашей системы счисления на машине, которая оперирует девятью уровнями напряжения, знаков тоже бы никаких не было. В каждом разряде регистра имеется напряжение одного из 9 значений (причём абсолютно пофигу какие конкретно абсолютные значения у этих уровней). А дальше просто эти уровни ТРАКТУЮТСЯ операциями
0
|
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|
05.01.2012, 19:58 | 45 |
В этой задаче, я практически уверен, есть какая-то хитрость. Я вот ее не нашел. Если бы автор темы предложил бы нам к просмотру вариант решения задачи от преподавателя. Вот было бы интересно.
thick_int На мой взгляд если считать что нет знака минус то система очень даже достаточна.
0
|
186 / 61 / 4
Регистрация: 29.04.2011
Сообщений: 641
|
|
06.01.2012, 11:07 [ТС] | 49 |
скорее всего варианта решения не будет выложенно
если все же будет, то после января, тогда я обязательно напишу сюда
0
|
06.01.2012, 14:16 | 50 |
В итоге получается, что сложение столбиком делается ровно так, как я и описывал. За исключением того, что в левый разряд помимо единицы может ещё и A переноситься. Т.е. по большому счёту сложение столбиком делается по всем тем же правилам, что и в привычных системах счисления (только в обычных системах переноситься может только единица, а тут ещё и минус единица)
0
|
10.01.2012, 17:22 | 51 |
Давайте вспомним математику. Пусть q - некоторое натуральное целое число, причем q>1. Тогда любое натуральное число a можно представить в виде суммы
где . Причем это представление единственно. Эти коэффициенты и есть цифры числа a в q-ичной системе счисления и число a имеет вид: Итак, из всего сказанного следует, что задание звучит некорректно, так как отрицательных цифр не бывает. А если они и выдумываются (как здесь), то это идет вразрез с математикой, нарушает весь баланс и ведет незнамо к чему. Предполагаю, что имеет другую подоплеку. Если автор просто не так выразился и в этой системе счисления {B,A,0,1,2,3,4,5,6} это просто цифры, то все очень просто. Сначала просто перевести, потом сдвинуть и заменить и все))
0
|
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|
10.01.2012, 20:38 | 52 |
несколько постов ранее я предложил решение этой задачи. может быть оно не красиваое но работает.
Если вам не трудно.. сделайте ваше решение в соответсвии с просто перевести, потом сдвинуть и заменить и все. Буду вам очень благодарен если вы предложете простое решение. Я его к сожалению не нашел.
0
|
12.01.2012, 19:50 | 53 | |||||
На самом деле еще проще можно. Не расписывая, просто вывод трансформированного числа так можно осуществить:
#define SET "0123456BA"
2
|
Higher
|
|||||||||||
12.01.2012, 20:07 | 54 | ||||||||||
Я так сделал(через перевод)
Код большой, однако я его протестировал так
P.S. копипастить мой код не надо, это вполне могут обнаружить.
2
|
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|
12.01.2012, 21:50 | 55 |
Либо я чего-то не понял, либо ваш код не корректен.
ТЕСТ ПОЛОЖИТЕЛЬНЫХ ЧИСЕЛ
1 A 2 0 3 1 4 2 5 3 6 4 7 5 8 6 9 AB 10 AA 11 A0 12 A1 13 A2 14 A3 15 A4 16 A5 ...... А должно быть 1 1 2 2 3 3 4 4 5 5 6 6 7 1B 8 1A 9 10 ..... и так далее А с отрицательными числами ваш код вообще работать не может. Пожалуйста уточните если я не прав или не понял вашу точку зрения. Добавлено через 11 минут diagon, потестил ваш код. результат как в аптеке и код выглядет намного чище чем мой вариант. а второе это какое ?
0
|
Higher
|
||||||
12.01.2012, 22:06 | 56 | |||||
Нужно так подобрать функцию, что для данных вызовов она возвращала то, что написано в комментариях.
При этом можно пользоваться только символами переменных, константой 1, круглыми скобками и xor(побитовое сложение) - ^
1
|
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|
12.01.2012, 22:10 | 57 |
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
|
|
12.01.2012, 22:26 | 58 |
просто мысли вслух
а если представить 0=B 1=A 2=0 3=1 4=2 5=3 6=4 7=5 8=6 слева числа в 10 системе справа в ентой самой системе смещение равно -2 тогда сложение решается так (x)+(y)+(-2) (смешение)=x+y-2 B+B =0+0-2 =-2 если -1=A -2=B -3=-1 -4=-2 6+6 = 8+8 -2 =14 вычитание (x)-(y)-(-2) (смешение)=x+y+2 B-B =0-0+2=2(десятичное)=0 правда при проверках я сам запутался и не смог прикинуть уножение и деление Добавлено через 1 минуту число 7 у на будет 1B ??? 9+(-2)???
0
|
Заблокирован
|
|
13.01.2012, 03:02 | 59 |
это называется совершенные нормальные формы, бывают дизъюнктивные (результат 1) и конъюнктивные (результат 0). Учи матчать. Теорию автоматов гулял с пивком наверное вместо лекций?)) короче у тебя неполная функция это означает что недостающие комбинации дополняешь в результате единицу и строишшь СДНФ методом Квайна-Маккласки и картами Карно, потом теже комбинации дополняешь нулями и строишь СКНФ теми же методами. Дальше выбираешь наименьший вес функции, пропускаешь через алгоритм Петрика, дальше не помню, но есть еще один алгоритм, который позволяет поменять местами переменные и еще минимизировать функцию, потом переводишь в базис Жегалкина и будет печенько. Сейчас кину по 9й сс код, пока без функции инверсии.
0
|
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|
13.01.2012, 03:57 | 60 |
именно так.
-2 = B -3 = A6 -4 = A5 и т.д. Добавлено через 8 минут ну прям так и хочется добавить ..... и начинаешь строить атомную станцию.
0
|
13.01.2012, 03:57 | |
13.01.2012, 03:57 | |
Помогаю со студенческими работами здесь
60
Перевод строки из 2-ной системы счисления в 8-ную систему счисления Перевод из любой системы счисления в любую другую систему счисления (2-36) Перевод числа из восьмеричной системы счисления в шестнадцатеричную систему счисления Перевод чисел из двоичной системы счисления в систему счисления кратной степеням двойки и обратно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |