`

把字符串S转换为相应的双精度浮点数的函数

 
阅读更多
/*把字符串S转换为相应的双精度浮点数的函数*/

#include "ctype.h"
double atof(char s[])
{
  double val , power;
  int i , sign; 
  
  /*跳过空格*/
  for(i=0;isspace(s[i]);i++)
    ;
  
  /*辨别正负号*/
  sign=(s[i]=='-')? -1:1;
  if(s[i]=='+'||s[i]=='-')
    i++;
  for(val=0.0;isdigit(s[i]);i++)
     val=10.0*val+(s[i]-'0');
  if(s[i]=='.')
    i++;
  for(power=1.0;isdigit(s[i]);i++)
  {
     val=10.0*val+(s[i]-'0');
     power*=10;
         
  }      
  
  return sign*val/power;
}


分享到:
评论

相关推荐

    64位16进制字符串to双精度浮点数_labview_64位浮点_双精度_源码.zip

    在IT领域,尤其是在编程和数据处理中,将64位16进制字符串转换为双精度浮点数是一项常见的任务。这项任务涉及到数值计算、数据类型转换以及编码解码的知识。LabVIEW(Laboratory Virtual Instrument Engineering ...

    64位16进制字符串to双精度浮点数_labview_64位浮点_双精度.zip

    在IT领域,尤其是在编程和数据处理中,将64位16进制字符串转换为双精度浮点数是一项常见的任务。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款由美国国家仪器公司(NI)开发的图形化编程...

    64位16进制字符串to双精度浮点数_labview_64位浮点_双精度

    在LabVIEW中,将64位16进制字符串转换为双精度浮点数是一项常见的数据处理任务。这种转换涉及到二进制、十六进制和浮点数表示法的深入理解。下面,我们将详细探讨这一过程及其在LabVIEW中的实现。 首先,我们需要...

    单精度&双精度浮点数与十六进制数相互转换

    例如,在存储和传输大量浮点数据时,有时会将它们转换为十六进制字符串,以节省空间并方便处理。 在进行单精度和双精度浮点数与十六进制转换时,需要注意的是,由于浮点数的存储方式涉及舍入误差,转换过程中可能会...

    VBA实现单精度浮点数与十六进制字符串相互转换

    VBA实现单精度浮点数与十六进制字符串相互转换,并提供2个相互转换的示例 第一个按钮: "A1录入十六进制8位字符串; B1输出单精度浮点数结果" 第二个按钮 "将B1作为单精度浮点数输入 C1输出16进制结果

    单精度浮点数与十六进制转换_C语言程序

    例如,在通信协议中,将浮点数转换为十六进制字符串可以减少传输的数据量,同时保持足够的精度。此外,单片机的有限资源意味着优化数据表示和处理流程对于性能至关重要。 综上所述,理解和掌握单精度浮点数与十六...

    单、双精度浮点数与16进制相互转换.zip

    双精度浮点数则占用64位,包括1位符号,11位指数,以及52位尾数。这些数字在内存中以二进制形式存储,但人类更习惯于16进制表示,因为它将二进制的4位一组打包,更易于阅读。 在C++中,没有内置的函数直接进行...

    c#,十六进制转换成浮点数

    - **双精度转换**:对于双精度浮点数,相应的转换方法是`BitConverter.ToDouble`。同样,需要注意字节顺序问题。 4. **异常处理**:在转换过程中,可能会遇到一些异常情况,如溢出或无法解析的十六进制字符串。...

    Float Convert delphi浮点数转换成字符串..rar

    在处理浮点数(如单精度浮点数`Single`、双精度浮点数`Double`)转换为字符串时,主要依赖于以下几种方法: 1. **Format** 函数:这是一个通用的格式化字符串的函数,可以用于将数值转换为字符串。例如: ```delphi...

    C#实现十六进制转换成浮点数

    // 转换为双精度浮点数 ``` 然而,这种方法仅适用于标准格式的浮点数。如果十六进制表示的是非标准格式的浮点数,如异常值(如NaN或Infinity),或者尾数部分非零但指数部分全零的情况,就需要手动解析二进制表示...

    javaScript实现浮点数转十六进制字符

    在JavaScript中,可以使用内置函数 parseInt() 来将十六进制字符串转换为十进制整数,使用 toString(16) 方法将十进制整数转换为十六进制字符串。 4. 浮点数转换为十六进制的JavaScript实现方法: 根据上述内容,...

    使用str2num、str2double、str2int等函数来实现字符串转换为数字类型的功能

    str2num 函数的优点是可以将字符串转换为双精度浮点数,这在科学计算和工程应用中非常有用。 如果需要转换为整型,可以先用 str2double 将字符串转换为 double 类型,再使用 round、floor、ceil 等函数进行舍入操作...

    在 Java 中将字符串转换为双精度型.docx

    总结来说,这三种方法都可以有效地将字符串转换为双精度浮点数。在大多数情况下,`parseDouble()` 和 `valueOf()` 方法更受青睐,因为它们的效率高且直接返回基本类型 `double`,而构造函数创建的是包装类 `Double` ...

    易语言汇编实现文本和双精度小数转换源码

    4. **浮点数到文本的转换**:反之,将双精度浮点数转换为文本形式,需要将二进制数据解释成可读的字符。这可能包括取整、舍入、指数表示等步骤。 5. **汇编指令的应用**:易语言汇编模块可能包含了一系列底层的CPU...

    IEEE754浮点数_数值转换_浮点数转换_

    转换浮点数通常是指将一个浮点数从一种格式(如单精度)转换为另一种格式(如双精度)。这个过程需要保留尽可能多的精度,同时处理溢出或下溢的情况。转换时,指数和尾数都要进行相应的调整,确保结果的正确性。 总...

    16进制浮点数转换为10进制VC代码

    1. 解析16进制字符串:首先,我们需要将输入的16进制浮点数字符串转换为二进制表示。这通常通过读取每一位,然后将对应的16进制值转换为二进制完成。 2. 分割二进制表示:解析出的二进制数按照IEEE754标准分为符号...

    QT/C++实现:四字节十六进制与浮点数相互转化——三种方法(亲自验证源码)

    反之,从浮点数转换为十六进制字符串时,我们需要获取浮点数的二进制表示,将其拆分为四个字节,并将每个字节转换为十六进制字符串。 其次,是强制类型转换法。这种方法利用C++的类型转换特性,将十六进制字符串以...

    labview十六进制转浮点数程序

    在LabVIEW中,我们不能直接将一个浮点数转换为四位的十六进制字符串,因为一个标准的32位单精度浮点数(在LabVIEW中是默认的浮点类型)需要8位的十六进制数字来表示。这8位对应于浮点数的二进制表示中的32位。 这个...

    VC++ 字符串的转换

    - 使用`_ttoi()`, `_tcstoul()`, `_tcstod()`等函数将TCHAR类型的字符串转换为整数、无符号整数和双精度浮点数。 3. **字符串转换函数**: - `wcstombs()`和`mbstowcs()`:用于在宽字符字符串和多字节字符串之间...

Global site tag (gtag.js) - Google Analytics