Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как преобразовать Десятиричное число в Hex? 
V
    Опции темы
xXxSataNxXx
Дата 12.5.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Как можно преобразовать Десятиричное число в Hex без использования Hex(число)?
Без функции Hex(число) прошу, потому что хочу не в 16-ричную систему перевести, а чтоб полностью число заменялось буквами латиницы и кириллицы...
До обратной обработки я додумался, а вот до такого исчесления мозгов не хватает...smile
PM MAIL   Вверх
diadiavova
Дата 12.5.2010, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Ничего не понял smile 
Вообще в шестнацатиричную систему пожно преобразовать при помощи метода ToString
Код

Dim num = 1234
ConsoleWriteLine(num.ToString("x"))



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xXxSataNxXx
Дата 12.5.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Дело в том, что Hex это 16-ричная система, то есть 1 символ это число от 0-15 (0-F), а мне надо, чтоб было 0-9...A-Z...a-z...А-Я...а-я !
Тобишь, получается, что в 1 символ входит от 0-125, если пропускать букву ё!
Вот мне и не продумать, как построить функцию...
Другими словами я хочу сделать себе 126-ричную систему...smile

Это сообщение отредактировал(а) xXxSataNxXx - 12.5.2010, 15:58
PM MAIL   Вверх
diadiavova
Дата 12.5.2010, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Так что ж ты про 16-тиричную систему толкуешь? smile 
Для перевода в любую систему счисления алгоритм один: делишь число на основание системы и выписываешь остатки. В твоём случае его надо делить на 126(пока делится, то есть делать это надо в цикле вайл), остатки добавляй в коллекцию и у тебя получится набор чисел, соответствующих цифрам в твоей системе, потом просто вместо каждого из этих чисел возьмёшь соответствующий ему символ и всё. Первый остаток - последнея цифра, второй предпоследняя итд
 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Pilger
Дата 12.5.2010, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Не знаю есть ли уже готовые методы, но если самому делать, то думаю например так должно работать

Код

    Private Function DecToMex(ByVal Number As Integer) As String
        Dim Sym As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        Dim Mex As String = ""

        While Number > 0
            Mex = Mex & Sym(Number Mod Sym.Length)
            Number = Number \ Sym.Length
        End While

        Return Mex

    End Function



--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
xXxSataNxXx
Дата 12.5.2010, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Спасибо вам большое...  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0764 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.