Mengapa `0.5 | 0` Nilaikan kepada 0 dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-10-27 05:28:30
asal
499 orang telah melayarinya

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

Meneroka Operasi Bitwise dalam JavaScript: Kes Penasaran ""|"

Dalam JavaScript, aksara paip tunggal ""|" " mewakili bitwise atau operasi. Operator ini melakukan penilaian logik pada perwakilan binari operannya dan mengeluarkan nilai perduaan dengan kedudukan bit ditetapkan kepada 1 jika mana-mana operan mempunyai set bit yang sepadan kepada 1.

Untuk memahami bagaimana operator ini berfungsi, mari kita pertimbangkan contoh:

<code class="js">console.log(0.5 | 0); // 0
console.log(-1 | 0); // -1
console.log(1 | 0); // 1</code>
Salin selepas log masuk

Anehnya, 0.5 | 0 menilai kepada 0, manakala -1 | 0 dan kedua-duanya mengembalikan integer mereka hanya beroperasi pada integer. Apabila 0.5 diserahkan kepada operator, ia dipotong kepada 0, meninggalkan kita dengan 0 | 0, yang menghasilkan 0.

Sebaliknya, kedua-dua -1 dan 1 adalah integer bitwise atau operasi menetapkan bit yang sepadan kepada 1 jika mana-mana operan mempunyai set bit tersebut Memandangkan kedua-dua -1 dan 1 mempunyai semua bit mereka ditetapkan kepada 1, operasi hanya mengembalikan integer: -1 | 0 mengembalikan 1.

Pada dasarnya, pengendali paip tunggal melaksanakan bitwise atau operasi, yang menetapkan bit kepada 1 jika mana-mana input mempunyai set bit yang sepadan kepada 1. Walau bagaimanapun, memandangkan operasi bitwise hanya digunakan untuk integer, JavaScript memotong operan bukan integer, berpotensi mengubah output operasi.

Atas ialah kandungan terperinci Mengapa `0.5 | 0` Nilaikan kepada 0 dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!