工控编程吧
标题:
大数字的表示与计算--上位机VC
[打印本页]
作者:
qq263946146
时间:
2016-11-25 19:21
标题:
大数字的表示与计算--上位机VC
(, 下载次数: 2)
上传
点击文件名下载附件
大数字的表示与计算--上位机VC
功能展示
程序序中整型int类型数值的范围为-2147483648到21474836487,如果超出此范围几十几百倍,表达和运算起来就无能为力,当前例程实现大数字表示与计算功能,效果如图,例程初始化填充参与计算编辑框值为int整型的极限值,点击<执行大数运算>可分别计算出此极限值的加减乘除值,并显示出
要点提示
例程封装一简单类实现大型数字的运行,使用非常简单,包含类的头文件#include “BigNum.h“ 之后,就可以通过多种构造函数,构造出数字,数字间就可以进行运算处理
实现功能
1.新建基于对话框的应用程序
2.将例程根目录BigNum.cpp与BigNum.h两文件,也就是大数字类CBigNumber的头文件与源文件复制到自己工程根目录,并加载到工程中,在主对话框头文件中包含此类的头文件#include "BigNum.h“
3.按钮例程的例程给工程添加些许编辑框作为加数,减数,乘数,除数,和等等,再拖拽一按钮控件<执行大数运算>关联点击函数,执行大数字的加减乘除运算
void CGkbc8Dlg::OnButton1()
{
CString sValue,sValue1,sResult;
GetDlgItemText(IDC_EDIT1,sValue);
sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
sValue = sValue.Left(sValue.Find('E'));
CBigNumber Value(atof(sValue),atoi(sValue1));
//
GetDlgItemText(IDC_EDIT2,sValue);
sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
sValue = sValue.Left(sValue.Find('E'));
CBigNumber Value1(atof(sValue),atoi(sValue1));
Value = Value+Value1;
sResult.Format("%fE%d",Value.GetNumber(),Value.GetExp());
SetDlgItemText(IDC_EDIT3,sResult);
//<>
GetDlgItemText(IDC_EDIT4,sValue);
sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
sValue = sValue.Left(sValue.Find('E'));
Value = CBigNumber(atof(sValue),atoi(sValue1));
//
GetDlgItemText(IDC_EDIT5,sValue);
sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
sValue = sValue.Left(sValue.Find('E'));
Value1 = CBigNumber (atof(sValue),atoi(sValue1));
Value = Value-Value1;
sResult.Format("%fE%d",Value.GetNumber(),Value.GetExp());
SetDlgItemText(IDC_EDIT6,sResult);
复制代码
//<>
GetDlgItemText(IDC_EDIT7,sValue);
sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
sValue = sValue.Left(sValue.Find('E'));
Value = CBigNumber(atof(sValue),atoi(sValue1));
//
GetDlgItemText(IDC_EDIT8,sValue);
sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
sValue = sValue.Left(sValue.Find('E'));
Value1 = CBigNumber(atof(sValue),atoi(sValue1));
Value = Value*Value1;
sResult.Format("%fE%d",Value.GetNumber(),Value.GetExp());
SetDlgItemText(IDC_EDIT9,sResult);
//<>
GetDlgItemText(IDC_EDIT10,sValue);
sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
sValue = sValue.Left(sValue.Find('E'));
Value = CBigNumber(atof(sValue),atoi(sValue1));
//
GetDlgItemText(IDC_EDIT11,sValue);
sValue1 = sValue.Right(sValue.GetLength()-sValue.Find('E') -1 );
sValue = sValue.Left(sValue.Find('E'));
Value1 = CBigNumber(atof(sValue),atoi(sValue1));
Value = Value/Value1;
sResult.Format("%fE%d",Value.GetNumber(),Value.GetExp());
SetDlgItemText(IDC_EDIT12,sResult);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/9b99a9c752d874b3759639f359d6fab1/0/0/w_19run78cw1.swf-albumId=6823006509-tvId=6823006509-isPurchase=0-cnId=12[/iqiyi][weixinlianxi]1[/weixinlianxi]**** 本内容需购买 ****
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4