最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實現(xiàn)MIPS乘法模擬的方法

 更新時間:2015年04月17日 10:11:26   作者:dingding  
這篇文章主要介紹了JavaScript實現(xiàn)MIPS乘法模擬的方法,實例分析了JavaScript實現(xiàn)MIPS乘法模擬的運算技巧,需要的朋友可以參考下

本文實例講述了JavaScript實現(xiàn)MIPS乘法模擬的方法。分享給大家供大家參考。具體如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <title>MIPS MULTIPLICATION SIMULATOR </title>
 <script type="text/javascript">
  /* CREATED BY SERKAN SENDUR */
  function StringToNumberArray(Bin) {
   var numberArray = [];
   for (var i = 0; i < Bin.length; i++) {
    numberArray.push(Bin.substring(i, i + 1));
   }
   return numberArray;
  }
  function ConvertToDecimal(Bin) {
   var decimalNumber = 0;
   var numberArray = StringToNumberArray(Bin);
   numberArray.reverse();
   for (var i = 0; i < numberArray.length; i++) {
    decimalNumber += numberArray[i] * Math.pow(2, i);
   }
   return decimalNumber;
  }
  function ConvertToBinary(dec) {
   var bits = [];
   var dividend = dec;
   var remainder = 0;
   while (dividend >= 2) {
    remainder = dividend % 2;
    bits.push(remainder);
    dividend = (dividend - remainder) / 2;
   }
   bits.push(dividend);
   bits.reverse();
   return bits.join("");
  }
  function Multiply() {
   var firstNumber = document.getElementById("txtFirst").value;
   var secondNumber = document.getElementById("txtSecond").value;
   var multiplier = ConvertToBinary(firstNumber);
   var multiplicant = ConvertToBinary(secondNumber);
   var product = 0;
   var step = "Initial values";
   var iteration = 0;
   AppendToTable(iteration, step, multiplier, multiplicant, product);
   multiplicationAlgoritm(multiplier, multiplicant, product, 4);
  }
  function multiplicationAlgoritm(multiplier, multiplicant, product, counter) {
   if (counter > 0) {
    var iteration = 5 - counter;
    var decProduct = ConvertToDecimal(product);
    var decMultiplier = ConvertToDecimal(multiplier);
    var decMultiplicant = ConvertToDecimal(multiplicant);
    if (Right(multiplier, 1) == "1") {
     decProduct = decProduct + decMultiplicant;
     product = ConvertToBinary(decProduct);
     AppendToTable(iteration, "1a", multiplier, multiplicant, product);
    }
    else {
     AppendToTable(iteration, 1, multiplier, multiplicant, product);
    }
    decMultiplicant = ConvertToDecimal(multiplicant);
    decMultiplicant = decMultiplicant << 1;
    multiplicant = ConvertToBinary(decMultiplicant);
    AppendToTable(iteration, 2, multiplier, multiplicant, product);
    decMultiplier = ConvertToDecimal(multiplier);
    decMultiplier = decMultiplier >> 1;
    multiplier = ConvertToBinary(decMultiplier);
    AppendToTable(iteration, 3, multiplier, multiplicant, product);
    counter--;
    multiplicationAlgoritm(multiplier, multiplicant, product, counter);
   }
  }
  function AppendToTable(iteration, step, multiplier, multiplicant, product) {
   var row = document.getElementById("tblResults").insertRow();
   var cell = row.insertCell();
   cell.innerText = iteration;
   var cell = row.insertCell();
   cell.innerText = step;
   var cell = row.insertCell();
   cell.innerText = multiplier;
   var cell = row.insertCell();
   cell.innerText = multiplicant;
   var cell = row.insertCell();
   cell.innerText = product;
  }
  function ResetTable() {
   for (var i = document.getElementById("tblResults").rows.length; i > 1; i--) {
    document.getElementById("tblResults").deleteRow(i - 1);
   }
  }
  function Right(str, n) {
   if (n <= 0)
    return "";
   else if (n > String(str).length)
    return str;
   else {
    var iLen = String(str).length;
    return String(str).substring(iLen, iLen - n);
   }
  }
 </script>
 <style type="text/css">
  .style1
  {
   border-collapse: collapse;
   border-style: solid;
   border-width: 1px;
  }
  .style2
  {
   width: 6px;
  }
  .style4
  {
   color: #3366FF;
  }
  .style5
  {
   color: #0066FF;
  }
 </style>
</head>
<body>
 <br />
 <h3 class="style4">
  &nbsp;WELCOME TO MIPS MULTIPLICATION SIMULATOR</h3>
 <hr style="color: #0033CC" />
 <table>
  <tr>
   <td class="style5">
    Multiplier :
   </td>
   <td>
    <input id="txtFirst" type="text" />
   </td>
  </tr>
  <tr>
   <td class="style5">
    Multiplicant :
   </td>
   <td>
    <input id="txtSecond" type="text" />
   </td>
  </tr>
  <tr>
   <td align="center" colspan="2">
    <input id="btnMultiply" type="button" value="Multiply" 
 onclick="ResetTable();Multiply();"
     style="color: #3399FF" />
   </td>
  </tr>
 </table>
 <table class="style1" cellpadding="2" cellspacing="2"
 id="tblResults">
  <tr style="color: White">
   <td bgcolor="#3366FF">
    Iteration
   </td>
   <td bgcolor="#3366FF">
    Step
   </td>
   <td bgcolor="#3366FF">
    Multiplier
   </td>
   <td bgcolor="#3366FF" class="style2">
    Multiplicant
   </td>
   <td bgcolor="#3366FF">
    Product
   </td>
  </tr>
 </table>
</body>
</html>

希望本文所述對大家的javascript程序設計有所幫助。

相關文章

  • 微信通過頁面(H5)直接打開本地app的解決方法

    微信通過頁面(H5)直接打開本地app的解決方法

    這篇文章主要為大家詳細介紹了微信通過頁面(H5)直接打開本地app的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • JavaScript實現(xiàn)小球沿正弦曲線運動

    JavaScript實現(xiàn)小球沿正弦曲線運動

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)小球沿正弦曲線運動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • javascript實現(xiàn)表單提交后,提交按鈕不可用的方法

    javascript實現(xiàn)表單提交后,提交按鈕不可用的方法

    這篇文章主要介紹了javascript實現(xiàn)表單提交后,提交按鈕不可用的方法,涉及javascript動態(tài)修改表單樣式的技巧,非常簡單實用,需要的朋友可以參考下
    2015-04-04
  • js實現(xiàn)京東快遞單號查詢

    js實現(xiàn)京東快遞單號查詢

    這篇文章主要為大家詳細介紹了js實現(xiàn)京東快遞單號查詢,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • javascript事件冒泡實例分析

    javascript事件冒泡實例分析

    這篇文章主要介紹了javascript事件冒泡實原理,實例分析了事件冒泡的定義及實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • js+html5實現(xiàn)復制文字按鈕

    js+html5實現(xiàn)復制文字按鈕

    這篇文章主要為大家詳細介紹了js+html5實現(xiàn)復制文字按鈕,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • js中encode、decode的應用說明

    js中encode、decode的應用說明

    這里簡單介紹下js中的encode、decode的字符
    2012-10-10
  • 使用webpack將ES6轉化ES5的實現(xiàn)方法

    使用webpack將ES6轉化ES5的實現(xiàn)方法

    這篇文章主要介紹了使用webpack將ES6轉化ES5的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • async/await地獄該如何避免詳解

    async/await地獄該如何避免詳解

    這篇文章主要給大家介紹了關于async/await地獄該如何避免的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-05-05
  • js 將json字符串轉換為json對象的方法解析

    js 將json字符串轉換為json對象的方法解析

    將json字符串轉換為json對象的方法。在數(shù)據(jù)傳輸過程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉換是關鍵
    2013-11-11

最新評論

宝山区| 同江市| 府谷县| 湖口县| 洛浦县| 四会市| 长寿区| 平山县| 马边| 青州市| 奉贤区| 北流市| 镇坪县| 虎林市| 安陆市| 大兴区| 右玉县| 康乐县| 北票市| 翼城县| 黑山县| 应城市| 山东省| 沁源县| 华坪县| 荆门市| 泰顺县| 永登县| 潜山县| 定结县| 涡阳县| 潞西市| 新蔡县| 社旗县| SHOW| 当涂县| 革吉县| 嘉兴市| 梁河县| 三原县| 莫力|