Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
Очень нужна функция которая будет преобразовывать массив байт в большое десятичное целое (в виде строки) и обратная функция Может кто встречал? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2003, 19:14 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
Ни хера не понятно! Какие входные данные какие выходные? А что такое - большое десятичное целое (в виде строки)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2003, 19:42 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
МАССИВ БАЙТ -- это некоторая область памяти фиксированной длины БОЛЬШОЕ ДЕСЯТИЧНОЕ ЦЕЛОЕ -- десятичное число, занимающее объем памяти больше 8 байт (что соответствует Int64). Т.к. в Delphi Нет поддержки больших встроенных типов (целочисленных), то такое число можно представить в привычном виде -- в виде строки. Например: 8800143729631922405782002334063133501534435115162395064117426326331476687716325942802749888169355350802034821599707700628565614049986204387902189655430693 = $A80634DF67883190E551EA6C33EB0909F7E28FA16058DA8AAD628BBE6572FA9F534A66EB89D05EC9A0DA724040AAC60A3F487CCDB80C1DD713BEA398D6F216 25 (или 8800143729631922405782002334063133501534435115162395064117426326331476687716325942802749888169355350802034821599707700628565614049986204387902189655430693 = $2516F2D698A3BE13D71D0CB8CD7C483F0AC6AA404072DAA0C95ED089EB664A539FFA7265BE8B62AD8ADA5860A18FE2F70909EB336CEA51E590318867DF3406 A8 :) ) Входной параметр -- массив байт Выходной параметр -- строка 2 oleg_e: надеюсь так понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2003, 20:02 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
Похоже, тебе нужна арифметика больших чисел. Это сюда: http://triade.studentenweb.org/ -> GInt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 10:10 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
oleg_e прав. Редко встретишь такое бестолковое объяснения проблемы...:-) Похоже, BigInteger, ты просто хотел узнать как из array of byte получить AnsiString. Так что ли? Но, судя по пространным твоим рассуждения, тебе действительно нужно просто проводить операции над массивом. (То, о чем сказал Dankov) Зачем переводить это к строке совсем непонятно... (Хотя сделать это элементарно. Если примитивно, то в цикле применить к каждому байту массива функцию chr) С Новым Годом!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 10:21 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
2 Dankov -- спасибо за ссылку. Ссылка просто супер! 2 Berg: Ну если не понятно что такое "БОЛЬШОЕ ДЕСЯТИЧНОЕ ЦЕЛОЕ" после всех объяснений.... то я даже не знаю как объяснить понятнее. chr($FF) = 'я' а мне надо 255 ! Попробуйте в Delphi объявить константу Код: plaintext а так получится: Код: plaintext Если вы что-то недопонимаете, не стоит говорить что это глупо - иначе то же самое смогут сказать о вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 11:30 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
2BigInteger: Я не понял не это. Я не понял почему ты хочешь работать с "большими числами" в виде строки, а не, скажем, массива байт... А насчет CHR - это только направление...Если ты ожидал исходников, то извини. Я имел ввиду примерно следующее: Из массива байт: получить строку примитивно можем так x := ''; for i=1 to YLen begin x := x+chr(y +'0') i := i+1; end Ну, а из строки x = '62395064117426326331476687716325942802749888169355350802034821599' получить массив байт for i=1 to Length(x) begin y = ord(x)-ord('0'); i := i+1; end не сложно... А то, что операции с такими числами проводить придется в столбик известно. P.S. Извиняюсь, если с синтаксисом напутал. На паскале давно не писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 11:50 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
P.P.S. Тебя спросили не что такое "большое десятичное целое", а что такое "большое десятичное целое (в виде строки)" и даже выделили это красным цветом (см.второй пост) А вообще, с Новым Годом! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 11:53 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
BergЯ не понял не это. Я не понял почему ты хочешь работать с "большими числами" в виде строки, а не, скажем, массива байт... В самом первом посте я сказал "большое десятичное целое". По-моему абсолютно логично что если я говорю "десятичное", значит я хочу его видеть в десятичном виде а не в виде массива байт. В своем втором посте я уточнил почему меня не устраивают встроенные типы и почему я хочу видеть именно строку. И вобще: этот форум не для того чтобы удрочить спрашивающего по поводу формулировок вопросов. Или это не так? Если не нравится вопрос можно просто на него не отвечать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:30 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
2BigInteger: Объясняю почему я ввязался в дискуссию... Вы что-то невнятно сформулировали, а на уточняющий вопрос (пусть и немного грубоватый) от вас прозвучало издевательское " надеюсь так понятно?" на что хотелось ответить: "Нет, и так тоже непонятно"... Вы сами прочитайте еще раз определение упомянутого вами числа: "БОЛЬШОЕ ДЕСЯТИЧНОЕ ЦЕЛОЕ -- десятичное число, занимающее объем памяти больше 8 байт". По-моему, просто смешно...Извините, если обидел... > В самом первом посте я сказал "большое десятичное целое". > По-моему абсолютно логично что если я говорю "десятичное", значит я хочу > его видеть в десятичном виде а не в виде массива байт. Нет ничего абсолютного. Однако логика в этом действительно есть. Пожалуй под "десятичным числом" вполне можно было распознать его строковое представление. Имхо вы смешиваете понятия. Работать с этими числами вам будет удобнее в виде массива, а остальное надо лишь для представления результата...юзеру...Ну, или кому-то еще... > И вобще: этот форум не для того чтобы удрочить спрашивающего по поводу > формулировок вопросов. Или это не так? Нет, но иногда полезно... > Если не нравится вопрос можно просто на него не отвечать. Теперь уже не буду. Шампанское пора розливать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:52 |
|
||
|
BigInteger
|
|||
|---|---|---|---|
|
#18+
>>И вобще: этот форум не для того чтобы удрочить спрашивающего по поводу формулировок вопросов. Или это не так? Это так. Я просто уточнил вопрос. Нужно, наверное, что-то вроде этого: массив (2,5,1,7,0,0,1) - строка '2517001' и наоборот. А из вот этого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. не совсем понятно, что нужно. Ну да ладно. >> BigInteger Вопрос снят? PS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:55 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2115261]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 383ms |

| 0 / 0 |
