| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Перевод из десятичного в шестнадцатиричное? |
| Автор: Serg777 2.9.2006, 12:27 |
| Как сделать такое? Может есть готовые процедуры или нужно писать свою? |
| Автор: Nab 2.9.2006, 14:37 |
| помогут функции pack и unpack... |
| Автор: Serg777 2.9.2006, 18:59 |
| $a = unpack("H12", pack("N", $a)); Сделал вот так, преобразует нормально. Но ограничение в 32 бита! Т.е. Большие числа обрезает! $a = unpack("H12", pack("q", $a)); Так не обрезает, но число получается исковерканое. Подскажите пожалуйсте, как правильно? |
| Автор: Nab 2.9.2006, 19:11 |
| Я немного не понял что и куда Вы конвертировать собрались? Число само по себе неизменно, это набор нулей и единичек, десятичное или шестнадцеричным может быть только представление этого числа. Что именно Вам преобразовать надо? |
| Автор: Serg777 2.9.2006, 23:08 |
| Мне нужно преобразовать число из десятичного в шестнадцатиричный формат. |
| Автор: Nab 3.9.2006, 03:45 | ||
| Я не особенно знаком с этими функциями, но если число целое то думаю так:
если оно много больше 32-битного целого, то наверно вручную разбивать прийдется... |
| Автор: amg 4.9.2006, 06:24 | ||||
Еще так можно:
А если число большое, то можно использовать модуль:
|
| Автор: nitr 4.9.2006, 09:22 | ||
если надо вида 0xXX, то
|