2016-07-14 10 views
-5

Sollten wir den Code nicht so einfach und verständlich wie möglich halten? Was sind die Vorteile von binary über Floats und Integers in Python und ist es möglich, floats mit binary zu erstellen. Und wann würdest du es benutzen?Warum sollte man binäre Integer-Literale anstelle von Ganzzahlen oder Gleitkommazahlen in Python verwenden?

+2

... was? Könnten Sie Beispiele dafür geben, was Sie meinen? Meinst du * "binary [integer literals] (https://docs.python.org/3/reference/lexical_analysis.html#integer-literals)" *, wie '0b1010'? – jonrsharpe

+1

Warum würden Sie ein Fahrrad anstelle eines Autos fahren? – Julien

+1

Bitmasken und ihre Manipulationen können in binärer Notation viel klarer sein als in Integer- oder Fließkomma-Notation. – Evert

Antwort

2

Unter der Annahme, dass Sie nach:

Warum hat Python binäre integer literals?

z.B. erlaubt 0b1010 sowie 10, dann ist die Antwort, dass manchmal ist die meisten "einfach und leicht zu verstehen" Ansatz zum Schreiben von Code.

Zum Beispiel könnte die Nummer, die ich oben verwende, eine Bitmaske sein, die die Kombination der zweiten und vierten Option anzeigt. Welches ist klarer:

a = 0b0001 
b = 0b0010 
c = 0b0100 
d = 0b1000 

x = 0b1010 

oder:

a = 1 
b = 2 
c = 4 
d = 8 

x = 10 

(In der Praxis einfach x = a | c und zB re tatsächlich für die Fähnchen dezimal Literale verwenden würde, aber ich brauchte ein Beispiel und beachten Sie, dass die Bitweise Operationen auf Ganzzahlen sind auch einfacher in Binär-Darstellung zu verstehen.)

Siehe this comment aus einem anderen Grund, manchmal Binär ist Teil der Sprache von t Die Domäne, in der Sie arbeiten:

Dadurch wird der Code besser lesbar. Meine Implementierung ist basierend auf einer Spezifikation, die Binärzahlen verwendet. - Misha Moroshko 11. Mai '10 bei 00.36

Und nein, es gibt keine binären floating point literal in Python.

Verwandte Themen