Ich habe eine Binärzahl als String, der String ist 32 Zeichen gros die Binätzahl nimmt 16 Stellen von ihm ein, nun möchte ich herausfinden, was für eine Zahl an der 7,10 oder ander 15 stelle steht.
Bestimmte Stelle im String herausfinden
- carlos1710
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
AN der siebten Stelle von vorne:
string[7];
An der siebten Stelle von hinten:
string[strlen(string)-7];
-
-
danke wie kann ich mir NUR die 7. Stelle printen lassen ?
mit print("%s string",str[7]); bekomm ich 7 stellen. Und wenn ich ein String mit "format" fülle werden doch standartmäßig stellen 0-15 verwendet für meine Zahl. -
printf("Das ist ein Leerzeichen: '%c'",' ');
// Oder:
printf("Das ist ein Leerzeichen: '%c'",32);%c gibt einen character aus
-
Ich möchte aber wissen, ob an der 5 stelle von string eine 1 oder eine 0 steht bzw ob diese an der 5 stelle von hinten steht bei 16 bit sind die anderen 16 stringstellen unbelegt darum str[strlen(str)-16-5]
if(strcmp("0", str[strlen(str)-16-5], true, 10) == 0) Prüf ich damit ob an der 5. stelle eine 0 ist?
-
Warum greifst du nicht direkt auf das 5. Bit zu ?
Ich gehe mal davon aus,dass du sscanf besitzt.
Dann ließ doch den String mit sscanf aus als Typ b ( binary ). Dann bekommst die Streng der eine Zahl im Binärsystem repräsentiert korrekt umgewandelt in eine Zahl.
Denn 0b1011011101 ist nicht das gleiche wie 1011011101.
Danach kannst du mit & den Wert prüfen.new bin;
sscanf("01101110101111011","b",bin);
if( bin & 0b10000) {
// An 5. Stelle ist eine 1.
}//Edit:
Zusatzinfo -
danke verstanden wird getestet
ist das egal, dass hinter der 1 noch 4x 0 sind? es ist mir egal was hinten und vorne steht ich will nur wissen, ob platz 5 ne 1 is -
Darf ich fragen wofür soetwas gurt ist und taugt?
-
danke wie kann ich mir NUR die 7. Stelle printen lassen ?
mit print("%s string",str[7]); bekomm ich 7 stellen. Und wenn ich ein String mit "format" fülle werden doch standartmäßig stellen 0-15 verwendet für meine Zahl.
str[7] ist die 8te Stelle! [0] gibt es auch...zum Problem: du musst %c (einzelnes Zeichen) verwenden, mit %s wird der ganze Rest ausgegeben
Hier Beispiele zur Verwendung:
if(str[6] == '1') //überprüft ob an SIEBTER stelle eine 1 steht
if(str[6] == '0') //überprüft ob an SIEBTER stelle eine 0 steht
printf("7te stelle: %c", str[6]); -
Danke, so in etwa hatte ich es auch gedacht nur das mit c wusst ich nich, ein String fängt bei 0 an gut das du es erwähnst immer diese verschiebung
-
Ignoriert mich einfach
-
Tschuldigung, der fahrzeug schaden an türen, fenstern, motorhaube kofferraum un alles was am auto einknicken kann, kannst du nur über binätzahlen steuern.
Ich will nicht zu viel verraten aber ich kanns piepsen lassen wenn der schlüssel steckt undf die fahrertür offen ist, wie ich herausfind ob sie offen ist bekomm ich mit den binärcodes, (offen im sinne von offen hat nix mit abgeschlossen zu tun) -
Ja ich nehme mal an du meinst wenn die turz quasi weg ist ist offen usw. Interessant zu wissen aber wohl eine menge Arbeit für kleine Details
-
Reallife *hust* eigentlich keine menge arbeit, mann muss es nur verstehsten.
-
breadfish.de
Hat das Thema geschlossen.