bits loeschen mit "bitweise UND"-operator '&'
-
in einem tutorial fand ich folgendes listing:
int i = 0xFF; //i=255
i &= 0xF0; //setzt alle bits außer den bits 5 bis 8 auf 0
// i=240;fuer was stehen "0xFF" und "0xF0"? FF steht für den dezimalen wert 255 und F0 fuer 240. aber ich verstehe den zusammenhang nicht!
mfg palme
-
0xF0 = 11110000 = 240 (dez)
0xFF = 11111111 = 255 (dez)& ist der Operator für die bitweise UND-Verknüpfung.
11110000 11111111 -------- 11110000
i &= x ; entspricht i = i & x ;
-
Erhard Henkes hat dieselbe 8 Bit Zahl in drei Systemen dargestellt
System 1 Dezimal System das mit dem wir alle rechnen zugelassene Ziffern 0..9240 ist die Kurzschreibweise für 2*10^2 + 4*10^1 + 0*10^0
System 2 binaer System es sind nur die Ziffern 0 und 1 zugelassen
11110000 ist die Kurzschreibweise für 1*2^7 + 1*2^6 + 1*2^5 + 1*2^4 + 0*2^3 +0*2^2 + 0*2^1 + 0*2^0
System 3 Hexadecimalsystem es sind dir Ziffern 0...9,A=10,B=11,C=12,D=13,E=14,F=15 zugelassen
F0 ist die Kurzschreibweise für 15*16^1 + 0*16^0
Alle drei Systeme haben als Darstellung der selben Zahl ihre Berechtigung
Daneben war früher noch das Octalsystem verbreitet, das ist inzwischen aber sehr selten geworden
Alle Darstellungen bescreiben dieselbe Zahl, sie wird auf dieselbe Art und Weise im Computer gespeichert. Die Darstellungen dienen
nur der besseren lesbarkeit für die Programmierer
-
Hallo zusammen,
Alle Darstellungen bescreiben dieselbe Zahl, sie wird auf dieselbe Art und Weise im Computer gespeichert. Die Darstellungen dienen
nur der besseren lesbarkeit für die ProgrammiererTrotzdem stolpert man leider häufig über Funktionen wie
int hextodez(const char *)
Ich kann das ehrlichgesagt nichtmehr abhaben.. mich regt das FURCHBAR auf baaaaaaaaahhhhhhhh
-
Wenn ich einer Eingabe sei es von der Tastatur oder aus einem File einen String haben in dem
ein Wert ein einer der 3 Darstellungen gschreiben ist, wie soll ich das bitte in die interne
Darstellung als int umwandeln.In C gibts da die Function sscanf mit folgenden Argumenten
%x Interpretiere die dir vorliegende Zeichenkette ( auch String genannt) als Hexadecimalzahl
%i Interpretiere die dir vorliegende Zeichenkette ( auch String genannt) als signed Integer
%u Interpretiere die dir vorliegende Zeichenkette ( auch String genannt) als unsigned Integer
%o Interpretiere die dir vorliegende Zeichenkette ( auch String genannt) als oktal Zahl
------------------------------------
%b Interpretiere die dir vorliegende Zeichenkette ( auch String genannt) als binaer Darstellung, gibts leider nicht muß man
selber schreibenDie selbstgeschreibenen Routinen nehmen oftmals neben der Konvertierung noch andere Dinge die in diesem Umfeld sinnvoll sind war, z.B werden die Zeichen die konvertiert wurden aus dem EingabeString entfernt, oder es werden bei einer seriellen Kommunication immer 4 aufeinaderfolgende Zeichen als eine int Zahl interpretiert.
Deswegen wirst du sinnvollerweise immer wieder solche Funktionen finden.