注册 登录
编程论坛 VB6论坛

[求助]求助: 高精度开方

shenqk 发布于 2006-03-09 15:20, 919 次点击

如何用vb6.0语言编写高精度开方的程序?

如:√5 = 2.2360679775……
9 回复
#2
ryu2006-03-09 17:16
得2.23606797749979算高精度开方吗?
#3
辉少2006-03-09 20:29
当然不算,高精度开方是指完全利用整形数进行的结果
#4
shenqk2006-03-10 08:47
在下面这个网站中有一个高精度开方的程序,不过它是用C++语言编的,要是能将它转换成VB6.0语言就好了!


http://topic.csdn.net/t/20050617/09/4088398.html
#5
shenqk2006-03-11 09:08

原C++语言程序如下:

#include <iostream>
#include <cryptlib/integer.h>
#include <sstream>
using namespace std;
using namespace CryptoPP;

#define PREC 1000

int main( int argc , char* argv[] )
{
if( argc != 2 )
{
cout << "usage foobar <number>" << endl;
exit( 1 );
}

istringstream iss( argv[1] );
Integer nn , mm = 1 , mm2; iss >> nn;

for( int i = 0; i < PREC; ++i ) mm *= 10; mm2 = mm * mm; nn *= mm2;
cout << nn.SquareRoot() << endl;
}

[此贴子已经被作者于2006-3-11 9:12:08编辑过]

#6
辉少2006-03-11 12:38
恩,刚刚想到的,可以用 "二分法" 相信很多人都懂了吧,这里就不再献丑了
#7
shenqk2006-03-11 12:45
"二分法"”能达到高精度吗?
#8
辉少2006-03-11 12:51
不会吧,二分法 可以处理很多的高精度 问题的
#9
辉少2006-03-11 12:52
它的基本方法是将两个值不断逼近答案,当然最后的几个小数最好删除
#10
lk9876552012-09-27 13:04
以前有一个笔算方法,可以以此为算法进行VB编程
1