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?
Antwort
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.
- 1. Warum sollte man REST anstelle von SOAP-basierten Diensten verwenden?
- 2. Warum sollte man Iron Python anstelle von Boo wählen?
- 3. Warum sollte man Ruby über Python oder umgekehrt verwenden?
- 4. Warum sollte ich operator.itemgetter (x) anstelle von [x] verwenden?
- 5. Konvertieren Sie binäre Zeichenfolge in Liste von Ganzzahlen mit Python
- 6. HTML5: Warum sollte ich Abschnitt oder Artikel anstelle von div
- 7. Deklarieren von Ganzzahlen, Doppelpunkten, Gleitkommazahlen, Strings usw. im Frühjahr XML
- 8. Android: Wann/warum sollte ich FrameLayout anstelle von Fragment verwenden?
- 9. Warum sollte ich Runnable anstelle von Thread verwenden?
- 10. MIPS (oder SPIM): Laden Gleitkommazahlen
- 11. Was sollte ich anstelle von isinstance() verwenden
- 12. Warum sollte ich anstelle von WEBrick ein Einhorn oder Thin zu Entwicklungszwecken verwenden?
- 13. Warum sollte ich NIO (oder Frameworks wie Netty) anstelle von Java-Executoren verwenden?
- 14. Oracle - Warum sollte ich Pakete anstelle von eigenständigen Verfahren oder Funktionen verwenden
- 15. Warum TimeSpan.CompareTo() anstelle von < > oder =
- 16. Wann sollte ich String.Format oder String.Concat anstelle des Verkettungsoperators verwenden?
- 17. Warum lange [] anstelle von Date [] verwenden?
- 18. Warum NumPy anstelle von Python-Listen?
- 19. sollte size_t oder ssize_t verwenden
- 20. Wann/warum sollte ich eine Datenbank verwenden?
- 21. Warum sollte ich nicht blockierende oder blockierende Sockets verwenden?
- 22. Wie kann man mit String Keys anstelle von Ganzzahlen auf einem Python OrderedDict schneiden?
- 23. Warum sollte ich LabelFor in MVC verwenden?
- 24. Warum Varnish anstelle von Symfony Proxy verwenden?
- 25. Warum sollte excatly nicht LibGDX createBox oder createRect verwenden?
- 26. Warum SQLBRITE und warum wir es anstelle von SQLite verwenden?
- 27. Warum 'Funktionsadresse == NULL' anstelle von 'falsch' verwenden?
- 28. Warum sollte addChangeListener in componentDidMount anstelle von componentWillMount sein?
- 29. Warum "[*]" anstelle von "[]" im Funktionsprototyp verwenden?
- 30. Verwenden von Java zum Verschlüsseln von Ganzzahlen
... 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
Warum würden Sie ein Fahrrad anstelle eines Autos fahren? – Julien
Bitmasken und ihre Manipulationen können in binärer Notation viel klarer sein als in Integer- oder Fließkomma-Notation. – Evert