2016-04-12 17 views
0

Ich versuche, in hexadezimal mit gmp_printf() zu drucken, aber für einige Zeit funktioniert es nicht/merkwürdig funktioniert.gmp_printf() - in hexadezimal/base16 drucken

mpz_t B; //number of bytes 
mpz_set_str(B,argv[2],0); 
gmp_printf("%Zd",B); 

Funktioniert gut.

versuchte, es zu ändern:

gmp_printf("%#0xZd",B); 

Aber mit diesem ich verschiedene Ausgänge für den gleichen Eingang erhalten:

input: 0x397a52dccd55d39823964ae25 
output1: 0xa8392f80Zd 
output2: 0xa1eca3b0Zd 
desired output: 0x397a52dccd55d39823964ae25 

Antwort

1

Sie wahrscheinlich gmp_printf("%#Zx\n",B); wollen. Bitte nie Post zufällige Zeilen wie folgt, nur vollständige Programme (mit #include <gmp.h>, mit mpz_init(B), etc).