0 / 0 / 0
Регистрация: 27.04.2019
Сообщений: 113
|
|
1 | |
Как работать с большими числами (больше чем int64)?13.11.2019, 20:04. Показов 9407. Ответов 5
Метки нет (Все метки)
Дело такое: написал алгоритм, где генерируется код, по которому далее шифруется текст. Шифрование (алгоритм RSA, подробности работы описывать не стал, это не главное) осуществляется таким образом, что берется символ из строки и ему присваивается порядковый номер (если это так можно назвать) по кодировке Windows (OrdAnsi), далее уже происходят прочие вычисления.
Моя проблема заключается в том, что генерируемый код имеет ограничения (т.к. переменные int64) и числа берутся с границей 9223372036854775807 (64 бита вроде как), мне нужно чтобы числа были больше этой самой границы (>100 бит ), есть в PascalABC.Net переменная biginteger, но такие переменные не считываются функциями OrdAnsi и ChrAnsi - выводит ошибку, что нельзя использовать переменную biginteger (с int64 и просто integer можно, но как я уже сказал там "маленький" диапазон значений). Прошу вашей помощи, как можно реализовать такой алгоритм, а именно: - Каким образом можно брать огромные числа выше границы переменной int64, но чтобы можно было без ошибок переводить символы в строковое значение и наоборот? - И если кому не трудно (это не обязательно), то почему с переменной biginteger нельзя переводить в строковое значение? Буду очень признателен Спасибо! Жду ваших идей как реализовать это.
0
|
13.11.2019, 20:04 | |
Ответы с готовыми решениями:
5
Как работать с большими числами Как работать с большими числами? Как работать с очень большими числами? Как работать с большими числами, не вмещающиеся в тип double |
Status 418
|
||||||
13.11.2019, 20:32 | 2 | |||||
Почему нельзя?
0
|
0 / 0 / 0
Регистрация: 27.04.2019
Сообщений: 113
|
|
13.11.2019, 20:50 [ТС] | 3 |
Первый снимок с int64 - работает
Однако на втором снимке biginteger - не работает, а мне необходимо реализовать с большими числами мой алгоритм
0
|
0 / 0 / 0
Регистрация: 27.04.2019
Сообщений: 113
|
|
13.11.2019, 20:57 [ТС] | 4 |
0
|
0 / 0 / 0
Регистрация: 27.04.2019
Сообщений: 113
|
|
13.11.2019, 21:02 [ТС] | 6 |
ChrAnsi(a: byte): char; "Преобразует код в символ в кодировке Windows"
Не знаю почему char, брал из справки, что сам предлагал Pascal
0
|
13.11.2019, 21:02 | |
13.11.2019, 21:02 | |
Помогаю со студенческими работами здесь
6
Как работать с числами больше long long ? Как работать с большими текстами? Как работать с большими XML Как работать с большими словарями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |