Variable binär ausgeben



  • Ich versuche gerade etwas mit den Bitoperatoren herumzuspielen und komme jedoch auf keine Richtig ausgabe meiner Tests ...

    short int k,l;
    	short int n1;
    	k = 4;
    	l= 9;	
    	n1 = k & l;
    	printf("Test n1 : %d", n1);
    

    Oder wie kann ich das Bitmuster von n1 ausgeben?



  • Mit Hilfe einer Schleife.
    Du verundest deinen Wert mit einer Zahl, bei der nur ein Bit gesetzt ist.
    Wenn das Ergebnis ungleich 0 ist gibst du eine '1' aus, sonst eine ''0'.

    Du fängst mit dem höchsten Bit an und in jedem Durchlauf wird das Bit um eine Stelle verschoben.

    Das verschieben erreichst du, indem du den Wert durch 2 teilst.
    Oder mit dem Rechts-Shiftoperator >>

    Welchen Wert/Variable willst du denn ausgeben?
    Nimm mal bessere Variablennamen.



  • Danke hatte & und | durcheinander gebracht aber so funktioniert es:

    unsigned char zahl,summand;
    unsigned char erg;
    zahl = 0;
    summand = 7;
    
    erg =  zahl | summand;
    printf("Test Erg : %d", erg);
    


  • 😕
    Da steht doch: "Test Erg : 7"

    Ich dachte du wolltest das Bitmuster haben: "00000111"


Anmelden zum Antworten