для университетского проекта. Я работаю над реализацией RSA-CRT.Я использую mini-gmp , подмножество библиотеки GMP для обработки больших целых чисел.
Цель проекта - запустить программу на микроконтроллере STM32F103, который я хочу использовать сARM mbed framework.
Проблема в том, что я не могу правильно вывести большие целые числа на последовательную консоль для отладки.Вот минимальный рабочий пример моего кода:
#include <mbed.h>
#include <mini-gmp.h>
//SETUP
Serial pc(USBTX, USBRX); // enable serial communication, tx, rx
int main(){
pc.baud (115200);
printf("STARTING\n\r");
mpz_t n;
mpz_init_set_ui(n,11242342351435632235235464577);
mpz_out_str(stdout, 10, n);
printf("\nFINISHED\n\r");
}
При компиляции с PlatformIO и запуске на микроконтроллере я получаю это в последовательной консоли:
STARTING
3485947265
FINISHED
Я заметил напечатанное числовсегда длиной 10 цифр и начиная с 3, остальные цифры меняются в зависимости от значения n .Так что это не похоже на какое-то переполнение для меня.
Может ли кто-нибудь здесь помочь мне?