Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

у меня вопрос о функции mpz_get_str()

48K
14 апреля 2009 года
Nicolas1989
1 / / 14.04.2009
мне необходимо выводить на экран числа, которые длинной больше 10 символов - как это сделать?
прога у меня такая: на входе число - на выходе все возможные двоичные числа, длинной меньшие или равные входному числу. все ломается, когда длина больше 10. если изменять второй параметр в функции mpz_get_str() - то желаемый результат все равно не достигается.

MP_INT binar(int u)
{
MP_INT t;
mpz_init(&t);
int i =0;

double temp;
while(u>0)
{
temp =pow(10.0,(double)i);

mpz_add_ui(&t,&t,(unsigned long)(u%2*temp));
u/=2;
i++;
}

return t;
}
void func(int m)
{
double f = pow(2.0,(double)m);
MP_INT y;
char str[M];
char *num1;
char *bark;
//double *arr = (double*)malloc(sizeof(double)*m);
int i = 0;
int j= 0;
size_t h;
for(i=0;i<f;i++)
{


y = binar(i);
h = mpz_sizeinbase(&y,2);
printf("size = %d\n", h);
if(i>1023)
{
num1 = mpz_get_str((char *)0, 2,&y);
printf("arr[%d] = %s\n",i,num1);
}
else
{
printf("arr[%d] = %s\n",i,mpz_get_str(str,NULL,&y));
}

}
//return y;
}
int main()
{
int m = 65;
func(m);

return 0;

}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог