Hallo. Irgendwie stehe ich gerade auf dem Schauch. Habe ein Array mit x Elementen welche mit Nummer und Einser gefüllt sind. Zusammen ergeben die eine integer Zahl. Irgendwie verstehe ich gerade nicht wie ich das Ganze händlen sollte. Könnte mir hier jemand kurz nen Tip geben? Danke!
> Irgendwie verstehe ich gerade nicht wie ich das Ganze händlen sollte.
Das kommt ein klitzekleines bisschen darauf an was du damit machen
willst.. Umkopieren? memcpy regelt. Nullen? memset regelt. Oder doch was
anderes?
In etwa so?
1 | char eingabe[32]; |
2 | uint32_t ausgabe = 0; |
3 | |
4 | for (int i = 0; i < 32; i++) |
5 | {
|
6 | ausgabe <<= 1; |
7 | if (eingabe[i] == '1') |
8 | {
|
9 | ausgabe |= 1; |
10 | }
|
11 | }
|
Hmm, evtl etwas blöd erklärt...
uint8_t incoming_stream[4] = {'1','0','1','1'};
jetzt würde ich gerne ein uint8_t mit der Zahl 11 heraus bekommen.
Dann passt das so wie Fabian geschrieben hat, nur eben, dass die for Schleife 8 Durchgänge hat.
Ahja - super. Danke Euch! Die Vorgehensweise muß ich mir morgen mal verinnerlichen. Code funktioniert schon. Gute Nacht!
Tim schrieb: > uint8_t incoming_stream[4] = {'1','0','1','1'}; Falls es auch nullterminiert sein darf:
1 | char incoming_stream[] = "1011"; |
2 | |
3 | ...
|
4 | int i = (int)strtoul(incoming_stream, 0, 2); |
Oh, sowas gibts im gcc... Cool, danke für den Tip! Gleich später mal mit spielen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.