| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C] Перевод из 10-ой в 16-ную систему исчисления |
| Автор: deadlegolas 9.2.2009, 16:09 |
| Добрый день,столкнулся с задачей перевода из 10ой системы счисления в 16ичную.. не знаю как реализовать.. Помогите,буду благодарен! |
| Автор: Rodman 9.2.2009, 21:44 |
| http://forum.ixbt.com/topic.cgi?id=40:670 выбирай |
| Автор: deadlegolas 10.2.2009, 20:51 | ||
проблема в том,что программа должна работать с десятичными дробями.. кто-нибудь знает как это осуществить? |
| Автор: deadlegolas 11.2.2009, 21:44 |
| никто не знает?( |
| Автор: anatox91 14.2.2009, 00:15 |
| насколько я знаю отдельно переводится целая часть, и отдельно дробная, так что дерзай |
| Автор: ИванМ 19.2.2009, 21:22 |
| Я например даже не знаю как дробное число должно выглядеть в 16 СС. Ни один язык программирования и ни одна команда не работает с такими числами. Если просто нужно к виду X.X то действительно можно отдельно перевести целую часть, отдельно дробную, переведя ее в целую, и потом их склеить в виде строки. |
| Автор: deadlegolas 20.2.2009, 00:15 |
| а кто-то может подсказать сам алгоритм перевода дробной части в 16 ? именно кодом.. а то я не совсем понимаю как это сделать |
| Автор: ИванМ 20.2.2009, 00:40 | ||
| Исходное число val На выходе строка res
Правда это не правильно потому что точка ставится с учетом 10й СС. Я че-нить подумаю над этим напишу. |
| Автор: ИванМ 20.2.2009, 01:24 |
| Посмотри ссылку: http://gurulev.telebit.ru/sistschislenia.htm. Тут все написано |
| Автор: deadlegolas 20.2.2009, 01:44 | ||
Ого,крутой код,пока что самое лучшее , что я видел по этому вопросу) зачет.) но у меня почему-то не выводит результат,хотя вотчем все переменные имеют свои значения.. странно.. тупо ничего не выводит..
буду очень благодарен! |
| Автор: mrbrooks 20.2.2009, 08:43 |
| Можно представить вещественное число в виде массива символов. Этот массив привести к 16-ной системе не сложно. |
| Автор: deadlegolas 20.2.2009, 11:49 | ||
вроде бы работает такое преобразование в 16
это перевод целого числа,а как перевести дробное число? множить на 16 и сдвигать биты влево? а то я побитовых операциях не очень) |
| Автор: mrbrooks 20.2.2009, 11:59 |
поясни мало того что велосипед изобретаешь, да еще к тому же и корявый я вижу выход только через массив символов (для решения проблемы почитай про union). иначе потеряешь значения после запятой . |
| Автор: deadlegolas 20.2.2009, 12:03 | ||||
а почему корявый?)
сейчас почитаю..сенкс.. а ты не знаешь,как тот "корявый велосипед" заставить работать с алгоритмом перевода дробной части в 16ную?) |
| Автор: mrbrooks 20.2.2009, 13:09 | ||
я даже боюсь на него смотреть |
| Автор: deadlegolas 20.2.2009, 15:10 |
| вот блин) |
| Автор: ИванМ 20.2.2009, 17:04 | ||
Вот, рабочий пример. Переводит вещесвенное число из 10й в 16ю систему счисления.
|
| Автор: deadlegolas 21.2.2009, 16:50 |
| Благодарю) |