الفرق بين المراجعتين لصفحة: «JavaScript/Math/imul»

من موسوعة حسوب
لا ملخص تعديل
 
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{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 هذه الميزة.

مصادر ومواصفات