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

js
Math.imul(a, b)

Tham số

a

Số thứ nhất.

b

Số thứ hai.

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.

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()

js
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

Tương thích trình duyệt

Xem thêm