Hallo, ich bin ja noch Anfänger in C und ich habe mal wieder ein simples Problem: in einem "uint32_t" mit dem Namen "N" ist der Wert 1953 (=11110100001) nun möchte ich die letzten 8 bits in die Variable "int Nb" kopieren. und die restlichen in die Variable "int Na"(In diesem Fall "111"). ich habe es nun schon so versucht: Na=(N<<8); Nb=N; Doch irgentwie geht das nicht, weiß jemand woran das liegt, und was ich falsch mache? Doran
Doran S. schrieb: > in einem "uint32_t" mit dem Namen "N" ist der Wert 1953 (=11110100001) > nun möchte ich die letzten 8 bits in die Variable "int Nb" kopieren.
1 | |
oder
1 | |
> und die restlichen in die Variable "int Na"(In diesem Fall "111").
Ne, 24 Bit kriegst Du nicht in ein int (16Bit) rein.
Peter
Hallo, erstmal vielen Dank für deine Antwort. Ich habe es nun so gemacht: Na=(N>>8); Nb=N; Das macht auch das, was ich vorhatte... Vielleicht hast du nicht genau verstanden, was ich meinte. Aber so funktioniert es nun. Doran
Gast
#1458384
das problem besteht dann wenn der wert größer wie 16bit wird die 2 8bitter fassen eben nich das volumen der 32bit variable
achso, ok, jetzt verstehe ich das erst.... :-) Dann danke für den Hinweis! Doran
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.