Bytes zu Binär in C

7

Ich versuche, ein Byte, das von fget empfangen wurde, einfach in ein Binärformat umzuwandeln.

Ich weiß, dass der Wert des ersten Bytes 49 war, basierend auf dem Ausdruck des Wertes. Ich muss das jetzt in seinen binären Wert umwandeln.

%Vor%

Dies wird gedruckt:

%Vor%

Dies ist eindeutig kein Binärwert. Irgendwelche Hilfe?

    
BSchlinker 05.11.2009, 19:36
quelle

6 Antworten

16

Das Problem, das Sie haben, ist, dass Ihre Zuweisung nicht zu einem wahren oder falschen Wert führt.

%Vor%

Dies erhält den Wert des Bits. Sie müssen sehen, ob das Bit ein- oder ausgeschaltet ist, wie folgt:

%Vor%     
Aaron 05.11.2009, 19:39
quelle
5

Ändern

%Vor%

bis

%Vor%

oder

%Vor%

oder

%Vor%     
qrdl 05.11.2009 19:40
quelle
4

Ein Weg, unter vielen:

%Vor%     
Sinan Ünür 05.11.2009 19:38
quelle
1

Sie werden vielleicht bemerken, dass Ihre Ausgabe ein paar Einsen und Nullen hat, aber auch Zweierpotenzen, wie etwa 32. Dies liegt daran, dass Sie das Bit, das Sie verwenden möchten, mit der Maske ein wenig verschieben am wenigsten signifikante Ziffer, so dass es als 1 angezeigt wird. Oder Sie könnten verwenden, was andere Beiträge vorgeschlagen, und anstatt Bit-Verschiebung des Ergebnisses (etwa wie 00001000), können Sie einfach (Ergebnis! = 0) abzurufen entweder eine 1 oder 0, da in C false 0 ist und Vergleiche wie! = 1 als wahr zurückgeben (denke ich).

    
nullpointer 05.11.2009 20:52
quelle
0
%Vor%     
user6719757 16.08.2016 00:28
quelle
-1

Dieser Zusatz wird statt dessen funktionieren:

%Vor%     
yontak 28.06.2012 10:14
quelle

Tags und Links