الفرق بين المراجعتين لصفحة: «JavaScript/Math/imul»
< JavaScript | Math
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 64: | سطر 64: | ||
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-math.imul ECMAScript Latest Draft]. | * مسودة المعيار [https://tc39.github.io/ecma262/#sec-math.imul ECMAScript Latest Draft]. | ||
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-math.imul ECMAScript 2015 (6th Edition)]. | * معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-math.imul ECMAScript 2015 (6th Edition)]. | ||
[[تصنيف:JavaScript]] | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Global Objects]] | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Math]] | [[تصنيف:JavaScript Math|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:40، 28 يناير 2018
الدالة Math.imul()
تعيد ناتج ضرب المعاملين كعددين بطول 32 بت كما في لغة C.
البنية العامة
Math.imul(a, b)
a
العدد الأول.
b
العدد الثاني.
القيمة المعادة
ناتج ضرب المعاملين كعددين بطول 32 بت كما في لغة C.
الوصف
هذه الدالة تسمح بضرب الأعداد الصحيحة بطول 32 بت كما في C، وهي ميزةٌ مفيدة لبعض المشاريع مثل Emscripten.
لمّا كانت الدالة imul
هي دالةٌ ساكنة (static method) تابعةٌ للكائن Math، فيجب عليك استخدامها دومًا بالشكل Math.imul()
، إذ لا تستطيع استخدامها كجزء من كائن Math
خاص بك (تذكر أنَّ الكائن Math
ليس له دالةٌ بانية).
أمثلة
أمثلة عن استخدام الدالة 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
تعويض نقص دعم المتصفحات
يمكن محاكاة هذه الدالة كما يلي:
Math.imul = Math.imul || function(a, b) {
var ah = (a >>> 16) & 0xffff;
var al = a & 0xffff;
var bh = (b >>> 16) & 0xffff;
var bl = b & 0xffff;
// the shift by 0 fixes the sign on the high part
// the final |0 converts the unsigned value into a signed value
return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
};
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 28 | 20 | غير مدعومة | 16 | 7 |
على النقيض من المتصفح IE، يدعم متصفح Edge هذه الميزة.
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).