Inhalt eines Arrays in eine Variable speichern?

#4392284
Lesenswert?

m. g. schrieb:
> Hallo,
>
> ich möchte den Inhalt eines uint8-Arrays in eine uint32-Variable
> speichern.
>
> Bsp:
>
> uint8_t array[6] = {1,2,3,4,5,6};
>
> uint32_t = 123456
>
> Wie mache ich das?
1
  result = (utin32_t)array[0] * 100000U +
2
           (uint32_t)array[1] *  10000U +
3
                     array[2] *   1000U +
4
                     array[3] *    100U +
5
                     array[4] *     10U +
6
                     array[5];
#4392292
Lesenswert?

Rufus Τ. F. schrieb:
> Ausrechnen.

z.b. unter Verwendung des Horner-Schemas:

1
uint32_var= 0;
2
for (i=0; i<6; i++)
3
  uint32_var= uint32_var*10 + array[i];

das gleiche mit ausgerollter Schleife:

1
uint32_var= array[0];
2
uint32_var= uint32_var*10 + array[1];
3
uint32_var= uint32_var*10 + array[2];
4
uint32_var= uint32_var*10 + array[3];
5
uint32_var= uint32_var*10 + array[4];
6
uint32_var= uint32_var*10 + array[5];

https://de.wikipedia.org/wiki/Horner-Schema
Gast #4392312
Lesenswert?

Was du willst ist die Umwandlung einer Dezimalzahl in eine Binärzahl.
Bist du sicher dass in deinem Array:

uint8_t array[6] = {1,2,3,4,5,6};

nicht steht: {'1','2','3','4','5','6'}?

Egal, auf jeden Fall sind deine Hausaufgaben gelöst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren