欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現(xiàn)兩個大數(shù)(整數(shù))相乘

 更新時間:2014年04月28日 17:15:47   作者:  
大數(shù),即超出語言所能表示的數(shù)字最大范圍的數(shù)字,那么如何實現(xiàn)兩個大數(shù)相乘呢?下面有個不錯的方法,大家可以參考下
大數(shù),即超出語言所能表示的數(shù)字最大范圍的數(shù)字,此時的數(shù)字只能用字符串來表示。那么如何實現(xiàn)兩個大數(shù)相乘呢?我用JS實現(xiàn)了一下,代碼如下:
復制代碼 代碼如下:

console.log(bigMut("567", "1234")); // 699678
function bigMut(big, common) {
big += "";
common += "";
if (big.length < common.length) {
big = [common, common = big][0];
}
big = big.split("").reverse();
var oneMutManyRes = [];
var i = 0,
len = big.length;
for (; i < len; i++) {
oneMutManyRes[oneMutManyRes.length] = oneMutMany(big[i], common) + getLenZero(i);
}
var result = oneMutManyRes[0];
for (i = 1, len = oneMutManyRes.length; i < len; i++) {
result = bigNumAdd(result, oneMutManyRes[i]);
}
return result;
}
function getLenZero(len) {
len += 1;
var ary = [];
ary.length = len;
return ary.join("0");
}
function oneMutMany(one, many) {
one += "";
many += "";
if (one.length != 1) {
one = [many, many = one][0];
}
one = parseInt(one, 10);
var i = 0,
len = many.length,
resAry = [],
addTo = 0,
curItem,
curRes,
toSave;
many = many.split("").reverse();
for (; i <= len; i++) {
curItem = parseInt(many[i] || 0, 10);
curRes = curItem * one + addTo;
toSave = curRes % 10;
addTo = (curRes - curRes % 10) / 10;
resAry.unshift(toSave);
}
if (resAry[0] == 0) {
resAry.splice(0, 1);
}
return resAry.join("");
}
function bigNumAdd(big, common) {
big += "";
common += "";
var maxLen = Math.max(big.length, common.length),
bAry = big.split("").reverse(),
cAry = common.split("").reverse(),
i = 0,
addToNext = 0,
resAry = [],
fn,
sn,
sum;
for (; i <= maxLen; i++) {
fn = parseInt(bAry[i] || 0);
sn = parseInt(cAry[i] || 0);
sum = fn + sn + addToNext;
addToNext = (sum - sum % 10) / 10;
resAry.unshift(sum % 10);
}
if (resAry[0] == 0) {
resAry.splice(0, 1);
}
return resAry.join("");
}

相關(guān)文章

  • javascript實現(xiàn)信息增刪改查的方法

    javascript實現(xiàn)信息增刪改查的方法

    這篇文章主要介紹了javascript實現(xiàn)信息增刪改查的方法,實例分析了javascript操作頁面元素實現(xiàn)針對頁面信息的增刪改查功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • JavaScript實現(xiàn)找質(zhì)數(shù)代碼分享

    JavaScript實現(xiàn)找質(zhì)數(shù)代碼分享

    這篇文章主要介紹了JavaScript實現(xiàn)找質(zhì)數(shù)代碼分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • JS實現(xiàn)物體帶緩沖的間歇運動效果示例

    JS實現(xiàn)物體帶緩沖的間歇運動效果示例

    這篇文章主要介紹了JS實現(xiàn)物體帶緩沖的間歇運動效果,可實現(xiàn)物體定時間歇運動的功能,涉及javascript定時器、數(shù)學運算及頁面元素動態(tài)修改的相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • js操作CheckBoxList實現(xiàn)全選/反選(在客服端完成)

    js操作CheckBoxList實現(xiàn)全選/反選(在客服端完成)

    對于CheckBoxList控件來說,一方面要實現(xiàn)大量數(shù)據(jù)在服務器端的綁定工作,另一方面往往要求實現(xiàn)全選、反選等功能,接下來將介紹js操作CheckBoxList實現(xiàn)全選/反選,感興趣的朋友可以了解下,或許對你有所幫助
    2013-02-02
  • 全面解析Bootstrap排版使用方法(文字樣式)

    全面解析Bootstrap排版使用方法(文字樣式)

    這篇文章全面解析了Bootstrap排版使用方法,本文重點介紹Bootstrap排版中的文字樣式設置,感興趣的小伙伴們可以參考一下
    2015-11-11
  • Chrome插件(擴展)開發(fā)全攻略(完整demo)

    Chrome插件(擴展)開發(fā)全攻略(完整demo)

    Chrome插件是一個用Web技術(shù)開發(fā)、用來增強瀏覽器功能的軟件,它其實就是一個由HTML、CSS、JS、圖片等資源組成的一個.crx后綴的壓縮包,本文給大家分享一個Chrome插件(擴展)開發(fā)全攻略完整demo,感興趣的朋友跟隨小編一起學習下吧
    2021-05-05
  • 瀏覽器視頻幀操作方法?requestVideoFrameCallback()

    瀏覽器視頻幀操作方法?requestVideoFrameCallback()

    這篇文章主要介紹了瀏覽器視頻幀操作方法?requestVideoFrameCallback(),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • 微信小程序?qū)崿F(xiàn)答題倒計時

    微信小程序?qū)崿F(xiàn)答題倒計時

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)答題倒計時,自定義計時器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • JS實現(xiàn)京東商品分類側(cè)邊欄

    JS實現(xiàn)京東商品分類側(cè)邊欄

    這篇文章主要為大家詳細介紹了JS實現(xiàn)京東商品分類側(cè)邊欄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • JavaScript 獲取用戶客戶端操作系統(tǒng)版本

    JavaScript 獲取用戶客戶端操作系統(tǒng)版本

    今天,同事反映部分電腦訪問系統(tǒng),安裝播放器(Media Player)報錯,自己本機測試沒問題,但是去用戶現(xiàn)場查看情況,部分電腦確實存在此類問題,不知道問題出在何處,希望我?guī)椭鉀Q一下。
    2009-08-08

最新評論