Heim  >  Artikel  >  Web-Frontend  >  Flooring Floats mit bitweisem OR: Schneller als Math.floor()?

Flooring Floats mit bitweisem OR: Schneller als Math.floor()?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-20 13:57:15759Durchsuche

Flooring Floats with Bitwise OR: Faster Than Math.floor()?

Bodenbildung von Zahlen mit bitweisem ODER 0

Es ist eine einzigartige Methode für die Bodenbildung von Float-Zahlen mithilfe eines bitweisen ODER-Operators aufgetaucht:

var a = 13.6 | 0; // a == 13

Lassen Sie uns in diese Technik eintauchen, ihre Mechanismen untersuchen und sie mit der Standardfunktion Math.floor vergleichen.

Wie funktioniert es?

Bitweise Operationen funktionieren auf vorzeichenbehafteten 32-Bit-Ganzzahlen. Wenn Sie also ein bitweises ODER auf eine Gleitkommazahl anwenden, wird diese effektiv in eine Ganzzahl umgewandelt und der Bruchteil abgeschnitten.

Vorteile gegenüber Math.floor?

Benchmarking-Ergebnisse deuten darauf hin Diese Methode kann geringfügig schneller sein als Math.floor.

Nachteile:

  • JavaScript-Linting-Prüfungen werden möglicherweise nicht bestanden
  • Begrenzt auf 32- Ganzzahlen mit Bit-Vorzeichen
  • Vergleichsverhalten unterscheidet sich von Math.floor:

    • Math.floor(NaN) === NaN
    • (NaN | 0) === 0

Das obige ist der detaillierte Inhalt vonFlooring Floats mit bitweisem OR: Schneller als Math.floor()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn