|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.03.2013, 19:10 | #11 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
14.03.2013, 19:12 | #12 | |
Пользователь
Регистрация: 13.03.2013
Сообщений: 10
|
Цитата:
аа черт я запутался Последний раз редактировалось Stilet; 16.03.2013 в 13:47. |
|
14.03.2013, 19:39 | #13 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Давайте напишем программу для решения задачи в общем виде (то бишь перевод числа N из системы счисления с основанием X1, в систему счисления с основанием X2)
Конечно можно сразу осуществлять этот перевод, я же предлагаю сначала перевести число в десятичную с.с., а затем в с.с. с основанием X2. Чтобы упростить Вам задачу до минимума, предлагаю Вам такой вариант : Вы пишите перевод из с.с. с основанием X1 в 10 с.с., а я Вам даю код 2 части задачи. Для начала вспомним, как перевести число в 10 с.с. Для этого больше подойдет схема Горнера (тоесть дано число 123ABC в 16 с.с. - в 10 с.с. это будет так : Код:
Побалуемся.. и получим в результате это : Код:
Вот впринципе и всё что Вам нужно чтобы успешно написать программку, единственное, может возникнуть проблема с перевод чисел из с.с. > 10. Т.к. там есть буквы, но это тоже не проблема.. Подсказка : Код:
Последний раз редактировалось Poma][a; 14.03.2013 в 19:54. |
14.03.2013, 19:52 | #14 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Poma][a, по-моему, Вы немного ошиблись:
123ABC в 16 с.с. в 10 с.с. будет 1*16^5 + 2*16^4 + 3*16^3 + 10*16^2 + 11*16 + 12 Так что прошу исправить УПД Да, пожалуйста. Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 14.03.2013 в 19:59. |
|
14.03.2013, 19:56 | #15 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Спасибо! |
|
14.03.2013, 19:57 | #16 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
|
|
14.03.2013, 20:00 | #17 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Я выбрал 10-ную т.к. нашел свою программку перевода из 10-ой в другую с.с. |
|
14.03.2013, 21:16 | #18 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
14.03.2013, 22:43 | #19 | ||
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Вот что накропал в сети : Цитата:
|
||
14.03.2013, 23:02 | #20 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
2. Как Вы думаете, зачем принято указывать источник информации? Оказывается, еще и затем, чтобы определить: - достоин этот источник доверия, - относится ли он вообще к рассматриваемому вопросу (что особенно важно для короткой фразы, выдернутой из контекста). Теперь вернемся к первому. 1. Судя по тому, что Вы писали в посте Код:
Просто таблицу умножения (да и таблицу сложения) Вы знаете только для десятичной системы. Да и тот отрывок, который Вы привели "из сети" относится не к программному, а к ручному преобразованию чисел. И десятичная система здесь выбирается исключительно для удобства. Компьютер работает только в двоичной системе (строго говоря, их этого правила есть исключения, но они нам неинтересны). Причем, в отличие от человека, для него текстовое представление информации, к которому привык человек, не является ни естественным, ни удобным. А удобно для него внутреннее представление, которое, собственно, Вы и использовали в той формуле, которую я отквотил из Вашего сообщения. Только компьютер при этом переводит число не в десятичную систему, а во внутреннее представление, т.е. в двоичную. И то промежуточное представление (которое в случае человека - десятичное, а в случае компьютера - внутреннее двоичное) нам нужно для удобства, т.е. для существенного упрощения алгоритма. Потому как компьютер может аппаратно найти остаток от деления одного числа во внутреннем представлении на другое, а для операций с числами в текстовом виде нам бы пришлось самим писать всю арифметику. Для примера? попытайтесь написать программу, которая делит одно число в виде строки цифр на другое такое же число без их преобразования во внутреннее представление. Например, как без преобразования разделить "123" на "11", получив в качестве частного "11" и в качестве остатка "2". |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Програмка на языке Pascal | Tatyana Kur | Помощь студентам | 1 | 07.11.2011 22:36 |
Си програмка | Nebojitel | Общие вопросы C/C++ | 8 | 15.07.2011 20:54 |
Задачи на Pascal ABC (обьясните хотябы суть) | Joker_SoloD | Помощь студентам | 1 | 08.12.2010 15:15 |
Програмка | Spiderik | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 17.04.2010 09:12 |