|
3 / 3 / 1
Регистрация: 27.06.2011
Сообщений: 101
|
|
Как ускорить преобразование ToString?17.03.2013, 12:12. Показов 3025. Ответов 23
Метки нет (Все метки)
Можно ли как-то ускорить преобразование .ToString()? Занимает ну оооочень много времени. Нужно записать большое число в файл. Может как-то с помощью массива байтов? Спасибо.
0
|
|
| 17.03.2013, 12:12 | |
|
Ответы с готовыми решениями:
23
При вычислении выражения ++i.ToString() сначала вычисляется ToString(), а потом ++ Разница между string.Concat(x,y) и x.ToString()+y.ToString() Преобразование изображения: ускорить работу кода |
|
3 / 3 / 1
Регистрация: 27.06.2011
Сообщений: 101
|
|
| 28.04.2013, 20:05 [ТС] | |
|
А можно ли как-то преобразовывать число " по частям"? Т.е., допустим, есть число:
170141183460469231731687303715884105727 записанное в Hex: 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Мы берем часть числа, например: 7FFFFFFFFFFFFFF Преобразуем в BigInteger, а затем в String. Затем берем другую часть: FFFFFFFFFFFFFFFFF Также преобразуем в BigInteger, а затем в String. И напоследок "сшиваем" эти части. Реально ли это? Что-то мне кажется, что нет, но может я ошибаюсь. Мне бы сам алгоритм продумать...
0
|
|
|
Master of Orion
|
|
| 28.04.2013, 21:16 | |
|
west0293, чисто теоретически - реально. Там же массив есть. Проходите его в фориче и все. Только если вы думаете, что руками это сделаете быстрее чем обычный ToString, то вы _ОЧЕНЬ_ сильно ошибаетесь.
1
|
|
|
3 / 3 / 1
Регистрация: 27.06.2011
Сообщений: 101
|
||
| 28.04.2013, 22:27 [ТС] | ||
|
0
|
||
|
Higher
|
|
| 28.04.2013, 23:09 | |
|
Если вам так критична производительность, посмотрите в сторону нормальных библиотек для длинной арифметики, таких как GMP.
BigInteger же реализован очень неоптимально, как минимум потому, что он слишком обобщенный (а в длинной арифметике бесконечно много частных случаев - например, для взятия остатка по длинному модулю используется один алгоритм, а вот если модуль влазит в 32 бита, то используется уже другой, гораздо более быстрый алгоритм), а также написан не на native языке (в данном случае это критично).
1
|
|
| 28.04.2013, 23:09 | |
|
Как реализовать метод ToString?
Как вызывается метод toString Как реализовать в коде Equal и Tostring
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|