Berechnungen
-
Hallo
mich würde interessieren ob dieser Wert Dezimal berechnet wird, wenn a binär 1000000
char a; float b; a=1000000; b= (300/235)*a;
Ist das Ergebnis (300/235)*128 ?
MfG
-
Probiers doch aus!
Und warum sollte a binär sein?
Du schreibst es doch als normale Zahl...
-
^^ nö, 1000000 ist 'eine million'. in C sind zahlen per default dezimal, mit 0x davor sind sie 'hex' und mit 0 oktal (böse falle).
-
Würde das funktionieren.
b= (300/235)* (0b a);
b= (300/235)*0x80;
müßte ja funktionieren.
Ich brauche den binären Char-Inhalt als dezimale Zahl. Gibt es dafür eine Umformung oder muss ich ein Programm für die Umformung schreiben.
-
Und warum sollte a binär sein?
Da alles in binärer Form gespeichert bzw. bearbeitet wird. Und ich brauche den binären Inhalt als Dez-Zahl.
-
^^ nö, 1000000 ist 'eine million'. in C sind zahlen
a ist aber keine Zahl. a ist ein char
-
Drum werden lustige Sachen passieren. Wenn char signed ist, ist das undefiniertes Verhalten, wenns unsigned ist, hast du einfach einen normalen Überlauf, bis es in das char passt.
Und ein char ist sehr wohl ein Zahlentyp, und zwar ein Integer.
-
Du solltest es selbst schreiben.
Irgendwie sowas in der Richtung:int char2bin(unsigned char c){ int i = 0; for (char t = 0; t<8; c<<=1, t++) i = c&128 ? i*10+1 : i*10; return i; }