以下のコードは、biginteger を 10 進形式でファイルに出力します。代わりに、バイナリ データと 16 進データを出力するようにコードを変換するにはどうすればよいですか??
static void
print_pos( FILE* f, bigint bi )
{
if ( bi_compare( bi_copy( bi ), bi_10 ) >= 0 )
print_pos( f, bi_int_divide( bi_copy( bi ), 10 ) );
putc( bi_int_mod( bi, 10 ) + '0', f );
}
bi_10 は bigint の一種です。上記のコードを変更して、10 進数データではなく 16 進数/バイナリ データを出力するにはどうすればよいですか?