Zum Inhalt springen

Bit Verknüpfung


Empfohlene Beiträge

Gast KnapsackSolver
Geschrieben

Hallo Community,

ich besitze ein Byte, von diesem Byte benötige ich jedoch nur die ersten 4 Bit und später dann die letzten 4 Bit.

Also zur Darstellung

Byte:

1011 ------ 1101

(4Bit) Trennung (4Bit)

Jetzt muss ich im Prinzip eine Negierung der getrennten Bit erhalten:

Also erste 4 Bit (1011) Negierung dazu wäre (0100).

Dieses Ergebnis muss ich nun aneinander Packen, damit meine ich immer die erste Zahl von den 4 Bit und dann die jeweilige negierte Zahl dahinter:

Als Ergebnis bekomme ich dann:

.....1.....0.....0.....1.....1.....0......1......0

-> Ich hoffe ihr könnt mir folgen :D

Wie kann ich sowas in Quellcode umbauen?

Gast KnapsackSolver
Geschrieben

Ja also das ist schon logisch

Also ich muss im Prinzip auf die ersten 4 Bit eine AND Verknüpfung mit 0000 machen... Dann bekomme ich schon mal die Gegenwerte dazu... Jedoch muss ich ja jetzt immer abwechselnd die Bits immer abwechselnd nacheinander haben

Gast KnapsackSolver
Geschrieben

Also ich habe ja eben 4 Bit, von diesen 4 Bit muss dann das Gegenteil (Negierung) ermittelt werden.

4 Bit -> z.B. 0110 (Bezeichnung= BitVal)

Negierung 4 Bit -> 1001 (Bezeichnung= BitNegierung)

Jetzt muss abwechselnd immer folgend vorgegangen werden:

1 Bit von BitVal, dann 1 Bit von BitNegierung, dann 2 Bit von BitVal, dann 2 Bit von BitNegierung usw ....

Anschließend habe ich ja ein zusammengesetztes Byte.

Wie mache ich das ?

  • 2 Wochen später...
Gast KnapsackSolver
Geschrieben

Hi Pointerman, kannst du das mal an einem Beispiel aufzeigen?

Geschrieben

	char orig =   6; //0110

	char neg =   9; //1001 

	char result = 0;

	for(int bit = 3; bit >= 0; bit--)

	{

		result = result << 1;

		result |= ((orig >> bit) & 1) << (bit + 1) ;

		result |= ((neg >> bit) & 1) << bit;		

	}

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...