![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
помогите плиз написать функцию
которая переводит число x в систему исчесления base у меня никак не получается или идею подскажите Добавлено @ 12:39 язык обычный Си --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
-------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
а если ему надо перевести в 7ую систему счисления Добавлено @ 12:55 все что тебе надо: понимать на пальцах как осуществляется перевод Добавлено @ 12:56 это конечно если тебе надо переводить в нестандартную систему, а если только 10 8 и 16 то это раз плюнуть |
|||
|
||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
проблема в том, что base < 201 !!!
то есть любое число до 201... что с эти делать непонятно --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 0 Всего: 12 |
Ну не знаю
Если надо например перевести строку символов в память машины в виде числа то есть функция strtol. Обратное преобразование - ultoa Или если переводим двоичное число х в систему кратную 2 то можно так- в двоичную: если бит 0 пишем 0, если 1 то 1 в восьмеричную: соответственно каждые 3 бита это числа от 0 до 7 в 16ричную: каждые 4 бита - числа от 0 до F Чтобы перевести в 10-ную нужно найти сумму произведений цифры на основание системы в степени на 1 меньшей порядка цифры. например число 0101101 (двоичное) переводим в десятичное 2 в степени 0 = 1 2 в степени 2 = 4 2 в степени 3 = 8 2 в степени 5 = 32 итого 32+8+4+1 = 45 (десятичное) А из десятичной можно перевести в любую другую- Делишь с остатком число на основание нужной степени, потом результат ещё раз и т. д. пока не останется 0. Тогда все остатки записываешь в обратном порядке. Они и образуют число в нужной системе. Только нужно не забывать, что если основание больше 10, то цифра может быть больше 9, а значит заменяется на букву. Это сообщение отредактировал(а) Aleksandor - 29.12.2005, 13:13 -------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
разберись как переводят 10->2 и 2->10
и ты сможешь написать функцию каторая переводит в любую систему!!!! |
|||
|
||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
а можно ли из двоичной перевести в любую систему счсиления?
Добавлено @ 13:13
так это понятно... но как из 2->n - ричную... тут не могу сообразить --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
Подскжите!! в чём ошибка!!!
--------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
не рабоает... --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| Exekutor |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: 1 Всего: 4 |
такого не может быть. Делай частное типа float -------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
||||
|
|||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
как так не может быть?... просто целочисленно разделит меня больше волнует putchat() с printf() всё работает хорошо, но по условию задачи нужно с putchar() Добавлено @ 15:10 а в том коде я нашел ошибку --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| Exekutor |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: 1 Всего: 4 |
что говорит?
Добавлено @ 15:14
у тебя получится ноль. Используй float
или поменяй строчки местами Добавлено @ 15:20 И потом - зачем тебе массив? Это сообщение отредактировал(а) Exekutor - 29.12.2005, 15:15 -------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
||||
|
|||||
| RomaRS |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
ИМХО float в вычислениях использовать не стоит... Лучше double, float только для хранения темповых данных. |
||||||
|
|||||||
| Exekutor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: 1 Всего: 4 |
Интересно, а что DESert думает делать если массива в 50 элементов ему не хватит? Почему бы не использовать одно переменную? Неисповедимы пути...
-------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
|||
|
||||
| DESert |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
массив, чтобы там остатки от деления хранить, а потом в обратном порядке выводить...
в chastnoe запишется результат целочисленного деления, что мне и надо вторая трочка - остаток от деления x на base кстати, эта функция переводит любое число в любую разрядность вот что у меня работает:
а вот если поставить вместо printf() putchar(), то всё уже неправильно... может быть знаете почему? Добавлено @ 15:45 можно и одну переменную- не в этом вопрос совсем --------------------
Трудись, и будешь счастлив ты! |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |