Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как сделать hextoint? 
V
    Опции темы
CODeRUS
Дата 17.8.2008, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Проискал достаточное количество статей по Python, но вопрос не решил
Код

def hex2dec(s):
    """return the integer value of a hexadecimal string s"""
    return int(s, 16)

такая реализация работает только с hex числами до 7 знаков включительно, а с 8-значными вылетает с ошибкой о слишком большом literal...
как еще можно перевести hex -> dec?
PM MAIL   Вверх
setq
Дата 17.8.2008, 20:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А какая версия питона?
  Вверх
Void
Дата 17.8.2008, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Обновить Питон? В 2.5.2 всё работает:
Цитата
>>> int('0x1234567890ABCDEF', 16)
1311768467294899695L

Если это невозможно, написать перевод вручную. Вроде такого (не самый оптимальный и отказоустойчивый вариант):
Код
def parse_hex(s):
    if s.startswith('0x'):
        s = s[2:]
    result = 0
    for c in s:
        result = result * 16 + int(c, 16)
    return result



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
CODeRUS
Дата 18.8.2008, 04:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



версия Python for S60 (для смартфона))) 1.4.2 Final
void, у тебя там опечатки s.startswitch случайно нет?
за пример спасибо, вечером попробую
PM MAIL   Вверх
Void
Дата 18.8.2008, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Цитата(CODeRUS @  18.8.2008,  06:46 Найти цитируемый пост)
версия Python for S60 (для смартфона))) 1.4.2 Final

Там длинные целые вообще есть?
Цитата(CODeRUS @  18.8.2008,  06:46 Найти цитируемый пост)
void, у тебя там опечатки s.startswitch случайно нет?

Нет. startswith = НачинаетсяС


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
CODeRUS
Дата 18.8.2008, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



аа.. это я неправильно прочитал)
длинные целые есть. все то же самое. только функция какая то ущербная походу...
PM MAIL   Вверх
CODeRUS
Дата 18.8.2008, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



твоя функция работает, спасибо!
разбирал вечерком программы, и нашел в одной функцию eval(s) которая тоже переводит hex в dec..
как она работает? при работе с ней обнаружил проблемы при введении символов высокого регистра..
PM MAIL   Вверх
CODeRUS
Дата 20.8.2008, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



решил проблему)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




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


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

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