1 // print_integer_to_string().
4 #include "base/cl_sysdep.h"
7 #include "cln/integer_io.h"
12 #include "integer/cl_I.h"
13 #include "base/digitseq/cl_DS.h"
14 #include "base/string/cl_sstring.h"
18 char * print_integer_to_string (unsigned int base, const cl_I& z)
20 var bool minus_p = false;
23 // z<0 -> später Vorzeichen ausgeben:
29 var uintC need = 1+cl_digits_need(abs_z,base);
30 var uintB* ziffern = cl_alloc_array(uintB,need); // Platz für die Ziffern
31 var cl_digits erg; erg.LSBptr = &ziffern[need];
32 I_to_digits(abs_z,(uintD)base,&erg); // Umwandlung in Ziffern
33 // Vorzeichen ankleben:
34 var char* ergptr = (char*)erg.MSBptr;
35 var uintC erglen = erg.len;
40 var char* result = cl_sstring(ergptr,erglen); // Ziffern in String schreiben