2011年计算机二级C++辅导实例编程(10)

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  } while (num);

  // 将分拆之后的num进行乘法计算

  unsigned int i = 0,j = 0;

  for(i = 0;i < tempnum.size();++i)

  {

  int carry = 0;// 存储每位计算时来自低位的进位

  for(j = 0;j < calcresult.size();++j)

  {

  int bit1 = 0,bit2 = 0,res = 0;

  bit1 = calcresult[j];

  bit2 = tempnum[i];

  res = bit1 * bit2;

  // 保存当前位

  if((i+j)

  {

  // 临时结果中有对应位存在,则直接更新

  rest[i+j] += (res + carry) % 10;

  }

  else

  {

  // 没有对应位则需要添加

  rest.push_back((res+carry)%10);

  }

  // 有进位,则更新进位

  carry = (res + carry) / 10;

  }

  // 如果计算之后还有最高位的进位,那么则直接添加进去

  if(carry)

  {

  // 保存当前位

  if((i+j)

  {

  // 临时结果中有对应位存在,则直接更新

  rest[i+j] += carry;

  }

  else

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答