Gibt es eine Möglichkeit, die Bits zu drucken, ohne eine Schleife in C zu verwenden?

8

Im Moment mache ich folgendes:

%Vor%

Es wäre auch toll, eine Lösung zu haben, die unabhängig von der Wortgröße ist (in meinem Beispiel derzeit auf 32 gesetzt).

    
Nikhil Vidhani 07.09.2014, 10:14
quelle

4 Antworten

3

Wie wäre es damit:

%Vor%

Ich denke, das ist die Schlussfolgerung, die Sie zum Schreiben einer Binärzahl ohne eine Schleife bekommen.

    
cmaster 07.09.2014 10:52
quelle
2

Sie können itoa versuchen. Obwohl es nicht in Standard-C-Lib ist, ist es in den meisten C-Compilern verfügbar.

%Vor%     
ACcreator 07.09.2014 11:28
quelle
1

Anstatt mehrere Aufrufe von putchar oder printf in einer Schleife zu machen, ist es wahrscheinlich effizienter, zuerst eine temporäre Zeichenfolge zu erstellen und diese dann über einen Aufruf an z. puts :

%Vor%

LIVE DEMO

    
Paul R 11.09.2014 10:34
quelle
-1

Hier ist ein kleiner hacky Weg, es für Byte zu tun, das ich vor einiger Zeit fand. Ich denke, es lohnt sich hier zu verlinken, obwohl es nicht die beste Lösung ist. Ссылка

Die von @cmaster bereitgestellte Methode ist optimal und sauber. Tuning in Teilen von 8 Bits könnte jedoch besser sein. Sie würden die Tabelle in einer Schleife mit Ihrer Methode konstruieren, um 256 Zeichen manuell zu vermeiden. Ich denke nicht, dass auch das Gedächtnis ein Problem ist (es würde etwa 2kB benötigen).

Obwohl ich nicht glaube, dass es eine Möglichkeit gibt, dies für Variablen jeder Größe ohne Schleife zu tun.

    
Sopel 07.09.2014 11:29
quelle

Tags und Links