LINUX.ORG.RU

Конвертирование БОЛЬШОГО числа из dec в hex

 , , ,


0

3

Доброго времени суток.
Требуется поменять основание системы счисления у ОЧЕНЬ большого числа, а именно числа пи.
Оно хранится в файле длиной в несколько гигабайт, в дестиричной системе счисления.
Нужно перегнать в шестнадцатиричную.
Как можно это сделать, наиболее быстрым способом?
Важно ли что это - дробная часть числа или нет?

★★★★★
Ответ на: комментарий от anonymous

Ну только если твой процессор не реализует деление на аппаратном уровне :)
В условии сказано что формат уже задан, и более того, уже хранится в определенном виде, лично я вообще не вижу какого-либо смысла в преобразовании в другие форматы, все равно основное время будет тратиться на операции в/в. Лучше уж читать как есть и реализовывать арифметику на уровне процессора.

znenyegvkby
()
Ответ на: комментарий от znenyegvkby

Может я тупой, конечно, но как можно узнать частное от деления числа, не учитывая всё число целиком? Числа же изначально нет, на самом деле. Есть только циферки.

С вычитанием, мне кажется, это будет бесконечно долго.

anonymous
()
Ответ на: комментарий от anonymous

Может быть я некорректно выразился. Конечно же нужно знать все число целиком, это подразумевается.

Числа же изначально нет, на самом деле.

Почему нет? ТС ведь имеет именно законченное целое число (с вполне определенной позицией в дробной части, и вполне точным кол-вом хранимых символов).

С вычитанием, мне кажется, это будет бесконечно долго.

Ну дак тут вопрос только в последовательности бит, смещение которых нужно найти. Если последовательность не большая (пропорционально мощности ресурсов) - это будет довольно быстро. Или вы сейчас конкретно о переводе от основания к основанию говорите?

znenyegvkby
()
Ответ на: комментарий от anonymous

Там PDF. Использование PDF приводит к лишним тратам сетевого траффика и машинных ресурсов. Вот сожжёте все ресурсы планеты и будем сидеть в темноте без батареек. Вот более правильный формат - http://saahriktu.org/tmp/pi_bin.lzma .

> du -b pi_bin.*
1060    pi_bin.lzma
59889   pi_bin.pdf
Читать так (рекомендуемая ширина терминала - 120):
lzless pi_bin.lzma

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.