QQ登录

只需一步,快速开始

大数字的表示与计算--上位机VC

[ 复制链接 ]

大数字的表示与计算--上位机VC

大数字的表示与计算--上位机VC

大数字的表示与计算--上位机VC
功能展示
程序序中整型int类型数值的范围为-2147483648到21474836487,如果超出此范围几十几百倍,表达和运算起来就无能为力,当前例程实现大数字表示与计算功能,效果如图,例程初始化填充参与计算编辑框值为int整型的极限值,点击<执行大数运算>可分别计算出此极限值的加减乘除值,并显示出
要点提示
例程封装一简单类实现大型数字的运行,使用非常简单,包含类的头文件#include “BigNum.h“ 之后,就可以通过多种构造函数,构造出数字,数字间就可以进行运算处理
实现功能
1.新建基于对话框的应用程序
2.将例程根目录BigNum.cpp与BigNum.h两文件,也就是大数字类CBigNumber的头文件与源文件复制到自己工程根目录,并加载到工程中,在主对话框头文件中包含此类的头文件#include "BigNum.h“

3.按钮例程的例程给工程添加些许编辑框作为加数,减数,乘数,除数,和等等,再拖拽一按钮控件<执行大数运算>关联点击函数,执行大数字的加减乘除运算
  1. void CGkbc8Dlg::OnButton1()
  2. {
  3.         CString sValue,sValue1,sResult;
  4.         GetDlgItemText(IDC_EDIT1,sValue);
  5.         sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
  6.         sValue  = sValue.Left(sValue.Find('E'));
  7.         CBigNumber Value(atof(sValue),atoi(sValue1));
  8. //
  9.         GetDlgItemText(IDC_EDIT2,sValue);
  10.         sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
  11.         sValue  = sValue.Left(sValue.Find('E'));
  12.         CBigNumber Value1(atof(sValue),atoi(sValue1));
  13.         Value = Value+Value1;
  14.         sResult.Format("%fE%d",Value.GetNumber(),Value.GetExp());
  15.         SetDlgItemText(IDC_EDIT3,sResult);
  16. //<>
  17.         GetDlgItemText(IDC_EDIT4,sValue);
  18.         sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
  19.         sValue  = sValue.Left(sValue.Find('E'));
  20.         Value = CBigNumber(atof(sValue),atoi(sValue1));
  21. //
  22.         GetDlgItemText(IDC_EDIT5,sValue);
  23.         sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
  24.         sValue  = sValue.Left(sValue.Find('E'));
  25.         Value1  = CBigNumber (atof(sValue),atoi(sValue1));
  26.         Value   = Value-Value1;
  27.         sResult.Format("%fE%d",Value.GetNumber(),Value.GetExp());
  28.         SetDlgItemText(IDC_EDIT6,sResult);
复制代码
  1. //<>
  2.         GetDlgItemText(IDC_EDIT7,sValue);
  3.         sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
  4.         sValue  = sValue.Left(sValue.Find('E'));
  5.         Value   = CBigNumber(atof(sValue),atoi(sValue1));
  6. //
  7.         GetDlgItemText(IDC_EDIT8,sValue);
  8.         sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
  9.         sValue  = sValue.Left(sValue.Find('E'));
  10.         Value1  = CBigNumber(atof(sValue),atoi(sValue1));
  11.         Value = Value*Value1;
  12.         sResult.Format("%fE%d",Value.GetNumber(),Value.GetExp());
  13.         SetDlgItemText(IDC_EDIT9,sResult);
  14. //<>
  15.         GetDlgItemText(IDC_EDIT10,sValue);
  16.         sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
  17.         sValue  = sValue.Left(sValue.Find('E'));
  18.         Value   = CBigNumber(atof(sValue),atoi(sValue1));
  19. //
  20.         GetDlgItemText(IDC_EDIT11,sValue);
  21.         sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
  22.         sValue  = sValue.Left(sValue.Find('E'));
  23.         Value1  = CBigNumber(atof(sValue),atoi(sValue1));
  24.         Value = Value/Value1;
  25.         sResult.Format("%fE%d",Value.GetNumber(),Value.GetExp());
  26.         SetDlgItemText(IDC_EDIT12,sResult);
  27. }
复制代码
我们来演示下功能实现的整个过程
  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  
亲,付费内容需要支付 10金币 才能浏览哦点击支付(余额不足,可充值后再回来支付哦)

回复

使用道具 举报

快速回复 返回列表 客服中心 搜索