| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > перевод в десятичную систему исчисления |
| Автор: navi 9.4.2008, 22:01 |
| здравствуйте! помогите please c переводом из системы исчисления по основанию b<9 в десятичную. смjтрел в темах именно такой вопрос не нашёл... ах да: входные данные: само число и основание b. |
| Автор: volvo877 10.4.2008, 00:03 | ||
Если число, которое надо перевести в 10 с/с задано именно числом, а не строкой (бред, конечно, но задачи бывают разные), то вот так:
751(8) -> 489(10) |
| Автор: navi 10.4.2008, 00:13 | ||
извиняюсь за неточность число вводится строкой. |
| Автор: volvo877 10.4.2008, 00:55 | ||
Тогда все проще:
|
| Автор: 6pika4u 18.5.2008, 13:21 |
| Ребят,а как сделать обратную здачу? |
| Автор: Dobermann 18.5.2008, 15:53 | ||||
Нетрудно.... =)
|
| Автор: Agentum 10.12.2008, 12:08 |
| Ребят,как перевести числа из систем счисления с основанием от 2 до 35 в десятичную?напишите пожалуйста алгоритм. |
| Автор: Agentum 10.12.2008, 17:31 |
| Спасибо.А как сделать перевод букв из нижнего регистра в верхний и выполнить проверку на правильность ввода числа в данной системе счисления? |
| Автор: volvo877 10.12.2008, 18:33 | ||||
Есть функция UpCase.
(s - строка, в которой содержится запись числа, radix - система счисления) |
| Автор: Agentum 10.12.2008, 21:12 |
| А функция апкейс случайно не требует модуля wincrt? |
| Автор: volvo877 10.12.2008, 21:23 |
| Нет, не требует... Она содержится в модуле system, ничего подключать не надо... |
| Автор: Agentum 10.12.2008, 21:30 |
| И еще...вот в проверке.как мне проверить,если в числе есть буква(ну например буква B,означающая 11),а система счисления например 11,где не может быть буквы В? |
| Автор: volvo877 10.12.2008, 22:57 |
| Я уже написал выше, смотри внимательнее... Функция IsCorrect проверяет наличие запрещенных для данной системы счисления символов... |
| Автор: Agentum 11.12.2008, 13:31 |
| И еще один глупый вопрос...если вводят число с минусом как его удалить,а затем поставить на место после перевода? |
| Автор: Agentum 11.12.2008, 16:13 |
| Блин еще вопрос.Как правильно обратиться к функции upcase?напишите пожалуйста правильно для данной программы. |
| Автор: Agentum 11.12.2008, 18:36 |
| Все,спасибо.Разобрался с апкейс.только еще один вопрос...проверка правильности ввода числа не совсем работает:(она не проверяет число на лишние буквы... |
| Автор: Montr 12.12.2008, 12:17 | ||||
Попробуй заменить
на
|
| Автор: volvo877 12.12.2008, 13:07 |
| Montr, очень умный, да? Я специально заменил на полную строку, чтобы можно было работать с системами счисления до 36... Agentum, мне надоело заниматься телепатией: это у тебя не работает, то у тебя не работает... Все работает. Есть проблемы - приводи программу полностью и показывай при каких данных есть ошибка! Все. |
| Автор: Agentum 12.12.2008, 16:41 |
| Хорошо,извини пожалуйста,спешу просто.Сегодня выложу код и покажу,что она делает неправильно(ну или я напортачил) |
| Автор: Agentum 13.12.2008, 15:48 |
| Так...с проверками я разобрался.Возник вопрос при переводе чисел с точкой...как переделать функцию,чтобы она переводила дробные части чисел,то есть часть строки после точки? |
| Автор: volvo877 13.12.2008, 17:17 |
| У меня в профиле зайди по второй ссылке из списка "Любимые места в сети", там есть решение этой задачи... |
| Автор: Agentum 13.12.2008, 18:02 |
| По второй ссылке нет ничего.:( |
| Автор: Agentum 13.12.2008, 18:27 | ||
| Вот нашел по первой ссылке 2. перевод X radix-> X 10
|