Math.imul()
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
è¯¥å½æ°å°ä¸¤ä¸ªåæ°åå«è½¬æ¢ä¸º 32 使´æ°ï¼ç¸ä¹åè¿å 32 ä½ç»æï¼ç±»ä¼¼ C è¯è¨ç 32 使´æ°ç¸ä¹ã
å°è¯ä¸ä¸
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
è¯æ³
var product = Math.imul(a, b)
åæ°
è¿åå¼
类似 C è¯è¨ 32 使´æ°ç¸ä¹çç»æã
æè¿°
Math.imul() å¯ä»¥è¿è¡ç±»ä¼¼ C è¯è¨ç 32 使´æ°ç¸ä¹ãè¯¥ç¹æ§å¯¹äºä¸äºé¡¹ç®æ¯å¦ Emscripten 徿ç¨ãå 为 imul() æ¯ Math çéææ¹æ³ï¼æä»¥ç¨æ³æ¯ Math.imul()ï¼è䏿¯æ°å建ç Math å¯¹è±¡çæ¹æ³ (Math 䏿¯æé 彿°)ãå¦æä½¿ç¨ JavaScript æµ®ç¹æ°å为 imul çåæ°ï¼ä¼ææ§è½æå¤±ãè¿æ¯å 为ç¸ä¹å imul ä¼å°æµ®ç¹æ°è½¬æ¢ä¸ºæ´æ°ï¼ç¸ä¹åä¼å°æ´æ°éæ°è½¬æ¢ä¸ºæµ®ç¹æ°ï¼è¿ä¸¤æ¥è½¬æ¢çå¼éæ¯æ¯è¾å¤§çãimul åå¨çåå æ¯å¨ AsmJS(ç®å为æ¢å¯ä¸ä¸ç§ç¯å¢) ä¸å®æ¯å¿«éçãAsmJS 使 JIST-optimizers æ´å®¹æå®ç° JavaScript å
é¨çæ´æ°ãç°ä»£æµè§å¨ä¸ï¼å¯ä¸è½ä½ç°åº imul æ§è½ä¼è¶çåºæ¯æ¯ä¸¤ä¸ª Number å
é¨ä»¥æ´æ°çå½¢å¼ç¸ä¹ (ä»
å¨ AsmJS ä¸å¯è¡)ã
示ä¾
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
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.imul> |
æµè§å¨å ¼å®¹æ§
åè§
core-jsä¸Math.imulç Polyfill- ç»´åºç¾ç§ä¸ç Emscripten è¯æ¡