Hallo. Ich hab einen Integer, beispielsweise x = 37.
Nun moechte ich daraus ein Array machen das 32 Zeichen lang ist und in
dem dann 3 7 0 0 0 0 0 .... steht
wie realisiere ich das?
thx
Wandlung eines Integers in ein Array
Re: Wandlung eines Integers in ein Array
> Nun moechte ich daraus ein Array machen das 32 Zeichen lang ist
einen array von integers oder einen string?
falls integers: die zahl soll jeweils linksbündig sein, oder? also 370000..., 374400...?
einen array von integers oder einen string?
falls integers: die zahl soll jeweils linksbündig sein, oder? also 370000..., 374400...?
Re: Wandlung eines Integers in ein Array
Wird der volle Integerbereich verwendet, oder gibt es irgendwelche Einschränkungen? Welches Ziel wird verfolgt?
Re: Wandlung eines Integers in ein Array
sollen auch negative zahlen berücksichtigt werden?
wie du siehst reichen deine angaben nicht aus, um die frage zu beantworten.
hier trotzdem mal einen lösungsansatz für einen bestimmten fall (nämlich nichtnegative integers):<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">int n = 37;
int a [32];
int len;
memset (a, 0, sizeof a / sizeof a[0]);
if (n > 0) // nur dann ist log definiert
{
len = 1 + (int) log10 ((double) n); // anzahl ziffern
while (len--) // für alle ziffern 0..len-1 (aber rückwärts)
{
a [len] = n % 10; // rechteste ziffer im array ablegen...
n /= 10; // ...und aus n rechts hinausschieben
}
}</font><hr></pre></blockquote>
wie du siehst reichen deine angaben nicht aus, um die frage zu beantworten.
hier trotzdem mal einen lösungsansatz für einen bestimmten fall (nämlich nichtnegative integers):<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">int n = 37;
int a [32];
int len;
memset (a, 0, sizeof a / sizeof a[0]);
if (n > 0) // nur dann ist log definiert
{
len = 1 + (int) log10 ((double) n); // anzahl ziffern
while (len--) // für alle ziffern 0..len-1 (aber rückwärts)
{
a [len] = n % 10; // rechteste ziffer im array ablegen...
n /= 10; // ...und aus n rechts hinausschieben
}
}</font><hr></pre></blockquote>
Re: Wandlung eines Integers in ein Array
ich hab den code natürlich nicht getestet, bevor ich ihn gepostet habe. inzwischen hab ichs aber getestet. die sache mit dem memset ist natürlich falsch (oder: nur "teilweise" richtig). aber initialisieren mit memset ist sowieso mist, besser also ein loop.<font face="Courier New"> ( for (j=0; j < sizeof a / sizeof a[0]; j++) a[j]=0; )</font><!--fixed-->
naja, herbert scheints ja sowieso nicht mehr zu interessieren, aber ich wollte den fehler halt trotzdem nicht so stehen lassen.
naja, herbert scheints ja sowieso nicht mehr zu interessieren, aber ich wollte den fehler halt trotzdem nicht so stehen lassen.