我从网上下载了不少C/C++编程软件,其长双精度和双精度浮点型类型大多都一样位数,就是没有128位的长双精度浮点型类型的编程软件,希望有高手有。要是更高级的那更好了。

解决方案 »

  1.   

    decimal 128位,但是不是双精度浮点数...因为双精度浮点数是一种标准,只可能是64位...如果不是,就不能叫双精度浮点数...
      

  2.   

    你真搞笑...百毒胡说八道的你也信...IEEE754标准只有两种128位浮点数,一种是decimal128,一种是binary128...根本没有什么“长双精度”之类的叫法...
      

  3.   

    GPU编程
    某些特殊型号的小型机
      

  4.   

    此称呼另可在以下找到:2005年7月第三版,2010年5月第27次印刷的清华大学出版社出版的《C程序设计》(第三版) 谭浩强 著,46页第三章第四节浮点型数据:“……浮点型变量分为单精度(float型)、双精度(double型)和长双精度(long double型)3类。……long double的比特(位)数为128……”以及第N页第N行第N字。百度上说的64、80、96位我可以不信有其值,但这个时刻我还是相信128位的长双精度是有的。谢谢回复。  
      

  5.   

    c++测试结果
    cout<<size(long double)<<endl;
    输出 8
    表示是64位
      

  6.   

    IEEE你都不信竟然信清华大学出版社...你以为现在的清华还是60年前那个清华吗,别天真了...
      

  7.   

    GNU C++ 和 Intel C++ 支持 80位 Long Double。  128 位是软件做的。Microsoft 只有 64 位 Double。
      

  8.   

    10楼,在我看过的书中记载的东西我一直都照你那样持怀疑态度,有时候我连自己都无法相信。可凭二十几年来积累的经验以及可以说是独有的直觉,我还是认为128位的long double 是存在的。这并不意味着我会固执地信一本不能呼吸没有生气的书。
      

  9.   

    C/C++标准中没强制规定长双精度的长度,跟IEEE754一点关系都没有.
      

  10.   

    decimal 128位 ±1.0×10^-28 - ±7.9×10^28...专用于财务和货币计算,够你用吗?别死抱着个过时名词不知变通...
      

  11.   

    20楼,128位long double有效数字18-19位,数值范围约为-1.2E-4932到1.2E4932.需要就是需要,这是鄙人的问题,请回答即可,不要灌水。
      

  12.   

    试试High-Precision Software Directory:
    http://crd.lbl.gov/~dhbailey/mpdist/
      

  13.   

    那你就自己设计数据类型吧...C/C++的数据类型是平台特定类型,平台不支持就不支持...要空间性能要求高就用C写,空间性能要求不高用.NET做很简单...自己琢磨吧,学过数据结构的不难...
      

  14.   

    lz,你有些偏激了。是这样的,高精度的浮点运算取决于两点,一个是硬件,一个是软件。
    从硬件上来说,x86从来都不是为科学计算而专门设计的。所以如果你拥有一块普通的CPU,无论什么软件,也是没办法支持它做运算的。
    从软件上说,只要处理好溢出进位借位,你可以用低精度的计算软件实现高精度的计算。通常在64bit硬件能力下计算128bit精度,需要多消耗4~5倍的时钟周期,如果是32bit,那么大约是20倍。这也就是说用低字长的计算机速度会大幅下降。
    再有是标准,IEEE754R定义了128bit精度,但是这和硬件、软件是无关的,它只是标准而已。听说最新版的Intel MKL + 最新的Intel SandyBridge CPU(支持AVX)可以硬件支持128bit计算。另外,这已经偏题了。long double是C编译器定义的数据类型而已。
    事实上它只是一个类型。你可以用
    typedef struct 
    {
        byte[16]; 
    } LongDouble;
    定义出来,是不是。
      

  15.   

    你没学过数据结构吗?设计很简单,就是16个字节而已...不过这16个字节如何存储整数位和小数位就很讲究了,为什么一再强调IEEE754,就是因为按标准来很容易让你的合作者或用户清楚地知道你的数据是如何存储的...不至于像C的类型那样换个平台可能就全乱套了...所以建议你先去读读IEEE754和ISO60559文档,这些描述得很清楚了,按标准做绝对不会乱...实现算术运算就要费点神,需要位运算,复习一下二进制算术...或者对空间性能要求不高的话,不妨再牺牲一些存储位可能更容易一些...