Math.imul()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Phương thức tĩnh Math.imul() trả về kết quả phép nhân 32-bit kiểu C của hai tham số.
Try it
console.log(Math.imul(3, 4));
// Expected output: 12
console.log(Math.imul(-5, 12));
// Expected output: -60
console.log(Math.imul(0xffffffff, 5));
// Expected output: -5
console.log(Math.imul(0xfffffffe, 5));
// Expected output: -10
Cú pháp
Math.imul(a, b)
Tham số
Giá trị trả về
Kết quả phép nhân 32-bit kiểu C của các đối số đã cho.
Mô tả
Math.imul() cho phép nhân số nguyên 32-bit với ngữ nghĩa giống C. Tính năng này hữu ích cho các dự án như Emscripten.
Vì imul() là một phương thức tĩnh của Math, bạn luôn sử dụng nó dưới dạng Math.imul(), thay vì là phương thức của một đối tượng Math bạn tạo ra (Math không phải là constructor).
Nếu bạn sử dụng các số thực dấu phẩy động JavaScript thông thường trong imul(), hiệu năng sẽ bị giảm. Nguyên nhân là do chi phí chuyển đổi số thực dấu phẩy động sang số nguyên để nhân, rồi chuyển ngược lại. Tuy nhiên, với asm.js, cho phép trình tối ưu hóa JIT sử dụng số nguyên trong JavaScript tự tin hơn, việc nhân hai số được lưu nội bộ dưới dạng số nguyên (chỉ có thể với asm.js) bằng imul() có thể có hiệu năng tốt hơn.
Ví dụ
>Sử dụng Math.imul()
Math.imul(2, 4); // 8
Math.imul(-1, 8); // -8
Math.imul(-2, -2); // 4
Math.imul(0xffffffff, 5); // -5
Math.imul(0xfffffffe, 5); // -10
Đặc tả kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.imul> |