simples Problem

OP #1458322
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
#1458340
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
Nb = (uint8_t)N;
oder
1
Nb = N & 0xFF;


> und die restlichen in die Variable "int Na"(In diesem Fall "111").

Ne, 24 Bit kriegst Du nicht in ein int (16Bit) rein.


Peter
OP #1458352
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.