Heim  >  Artikel  >  Web-Frontend  >  Warum funktioniert `0,5 | 0` In JavaScript auf 0 auswerten?

Warum funktioniert `0,5 | 0` In JavaScript auf 0 auswerten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-27 05:28:30500Durchsuche

Why Does `0.5 | 0` Evaluate to 0 in JavaScript?

Erkundung der bitweisen Operation in JavaScript: Der seltsame Fall von „“|“

In JavaScript ist das einzelne Pipe-Zeichen „“|“ " stellt die bitweise ODER-Operation dar. Dieser Operator führt eine logische Auswertung der binären Darstellungen seiner Operanden durch und gibt einen Binärwert mit auf 1 gesetzten Bitpositionen aus, wenn für einen der Operanden ein entsprechendes Bit auf 1 gesetzt ist.

Zum Verständnis Betrachten wir ein Beispiel, wie dieser Operator funktioniert: 0,5 | Wenn 0,5 an den |-Operator übergeben wird, wird er auf 0 gekürzt, was zu 0 führt.

<code class="js">console.log(0.5 | 0); // 0
console.log(-1 | 0); // -1
console.log(1 | 0); // 1</code>
Im Gegensatz dazu sind sowohl -1 als auch 1 ganze Zahlen Bitweise oder -Operation setzt die entsprechenden Bits auf 1, wenn bei einem der Operanden alle Bits auf 1 gesetzt sind, gibt die Operation einfach die eingegebenen Ganzzahlen zurück: -1 | 0 gibt 1 zurück.

Im Wesentlichen führt der Single-Pipe-Operator eine bitweise ODER-Operation aus, die Bits auf 1 setzt, wenn an einem der Eingänge ein entsprechendes Bit auf 1 gesetzt ist. Da bitweise Operationen jedoch nur für Ganzzahlen gelten, verwendet JavaScript kürzt nicht ganzzahlige Operanden und verändert möglicherweise die Ausgabe der Operation.

Das obige ist der detaillierte Inhalt vonWarum funktioniert `0,5 | 0` In JavaScript auf 0 auswerten?. 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