Я использовал следующий код для преобразования bigint в десятичном виде в bytearray (необработанные данные), но я получаю неправильный результат.
В чем здесь ошибка?
Я пытаюсь это сделать в Apple Mac (для приложения Iphone)
COMP_BYTE_SIZE равно 4
Есть ли какие-либо проблемы с порядковым порядком байтов / байтов, пожалуйста, помогите.
void bi_export(BI_CTX *ctx, bigint *x, uint8_t *data, int size)
{
int i, j, k = size-1;
check(x);
memset(data, 0, size); /* ensure all leading 0's are cleared */
for (i = 0; i < x->size; i++)
{
for (j = 0; j < COMP_BYTE_SIZE; j++)
{
comp mask = 0xff << (j*8);
int num = (x->comps[i] & mask) >> (j*8);
data[k--] = num;
if (k < 0)
{
break;
}
}
}
Спасибо.