Umwandlung der binären Formatzeichenfolge in int, in C

7

Wie konvertiere ich eine binäre Zeichenfolge wie "010011101" in ein int, und wie konvertiere ich ein int, wie 5, in eine Zeichenfolge "101" in C?

    
Yongwei Xing 26.02.2010, 16:30
quelle

6 Antworten

10

Wenn es sich um ein Hausaufgabenproblem handelt, möchten Sie wahrscheinlich, dass Sie strtol implementieren, Sie hätten eine Schleife in etwa so:

%Vor%

Wenn Sie Lust haben, können Sie diese in der Schleife verwenden:

%Vor%     
Winder 26.02.2010, 16:41
quelle
19

Die Funktion strtol in der Standardbibliothek benötigt einen "Basis" -Parameter, der in diesem Fall 2 wäre.

%Vor%

(erster C-Code, den ich in ungefähr 8 Jahren geschrieben habe: -)

    
Pointy 26.02.2010 16:33
quelle
0

Ich denke, es hängt wirklich von einigen Fragen zu deinen Strings / Programmen ab. Wenn Sie zum Beispiel gewusst hätten, dass Ihre Nummer nicht größer als 255 wäre (dh, Sie haben nur 8 Bits oder 8 0s / 1s verwendet), könnten Sie eine Funktion erstellen, in der Sie 8 Bits aus Ihrer Zeichenfolge übergeben, sie durchlaufen und hinzufügen zu einer Summe, die du jedes Mal zurückgabst, wenn du einen 1. IE schlägst. Wenn du das Bit für 2 ^ 7 triffst, addiere 128 und das nächste Bit, das du triffst, war 2 ^ 4 füge 16 hinzu.

Das ist meine schnelle und schmutzige Idee. Ich denke mehr und Google für dich während der Schule. : D

    
Chris 26.02.2010 16:39
quelle
0

Für den zweiten Teil der Frage, d. h. "Wie konvertiere ich ein int, wie 5, in eine Zeichenfolge" 101 "in C?", versuchen Sie etwas wie:

%Vor%     
Arun 27.02.2010 16:04
quelle
0

Sie können die folgende Codierung verwenden

%Vor%     
muruga 01.03.2010 10:04
quelle
0

Verwenden Sie so:

%Vor%

Ausgabe:

%Vor%     
user3689237 06.11.2014 13:40
quelle

Tags und Links