Rumah >hujung hadapan web >tutorial js >Lantai Terapung dengan Bitwise ATAU: Lebih Cepat Daripada Math.floor()?

Lantai Terapung dengan Bitwise ATAU: Lebih Cepat Daripada Math.floor()?

Patricia Arquette
Patricia Arquetteasal
2024-11-20 13:57:15819semak imbas

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

Nombor Lantai dengan Bitwise ATAU 0

Kaedah unik telah muncul untuk nombor apungan lantai menggunakan operator bitwise ATAU:

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

Mari kita mendalami teknik ini, meneroka mekanismenya dan membandingkannya dengan fungsi Math.floor standard.

Bagaimana Ia Berfungsi?

Operasi bitwise beroperasi pada integer 32-bit yang ditandatangani. Oleh itu, menggunakan bitwise ATAU pada nombor apungan dengan berkesan menukarkannya kepada integer, memotong bahagian pecahan.

Kelebihan Berbanding Math.floor?

Hasil penandaarasan mencadangkan bahawa kaedah ini boleh menjadi sedikit lebih pantas daripada Math.floor.

Kelemahan:

  • Mungkin tidak lulus semakan linting JavaScript
  • Terhad kepada 32- integer bertanda bit
  • Tingkah laku perbandingan berbeza daripada Math.floor:

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

Atas ialah kandungan terperinci Lantai Terapung dengan Bitwise ATAU: Lebih Cepat Daripada Math.floor()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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