当前位置: 首页 > 编程笔记 >

C语言double和float 实例分析

齐典
2023-03-14
本文向大家介绍C语言double和float 实例分析,包括了C语言double和float 实例分析的使用技巧和注意事项,需要的朋友参考一下

小数也称实数或浮点数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。这是常见的小数的表现形式,称为十进制形式。

除了十进制形式,也可以采用指数形式,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小数都可以用指数形式来表示。

C语言中的小数也有这两种表示形式。在书写时,十进制形式和数学中的一样,指数形式有所差异。

在C语言中小数的指数形式为:

aEn 或 aen

a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E或e是固定的字符,其值为 a×10n。例如:

2.1E5 = 2.1×105,其中2.1是尾数,5是指数。

3.7E-2 = 3.7×10-2,其中3.7是尾数,-2 是指数。

0.5E7 = 0.5×107,其中0.5是尾数,7是指数。

C语言中小数的数据类型为 float 或 double:float 称为单精度浮点数,double 称为双精度浮点数。不像整数,小数的长度始终是固定的,float 占用4个字节,double 占用8个字节。

10 是固定的,不需要在内存中体现出来。正负号、指数(n)、尾数(a) 是变化的,需要占用内存空间来表示。

float、double 在内存中的形式如下所示:

输出 float 使用 %f 控制符,输出 double 使用 %lf 控制符,如下所示:

#include <stdio.h>
#include <stdlib.h>
int main()
{
  float a=128.101;
  float b=0.302f;
  float c=1.23002398f;
  double d=123;
  double e = 78.429;
  printf("a=%f \nb=%f \nc=%f \nd=%lf \ne=%lf\n", a, b, c, d, e);
  system("pause");
  return 0;
}

运行结果:

a=128.100998

b=0.302000

c=1.230024

d=123.000000

e=78.429000

对代码的说明:

1) %f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。

2) 将整数赋值给 float 变量时会转换为小数。

3) 小数默认为 double 类型,加上后缀f才是float类型。

4) 由于内存有限,小数的精度受限,所以输出 a 时只能获得一个近似数。

以上就是对C语言中double 和float 进行的详细分析、比较,希望能帮助学习这块内容的同学。

 类似资料:
  • 主要内容:小数的输出,数字的后缀,小数和整数相互赋值小数分为整数部分和小数部分,它们由点号 分隔,例如 0.0、75.0、4.023、0.27、-937.198 -0.27 等都是合法的小数,这是最常见的小数形式,我们将它称为 十进制形式。 此外,小数也可以采用 指数形式,例如 7.25×10 2、0.0368×10 5、100.22×10 -2、-27.36×10 -3 等。任何小数都可以用指数形式来表示。 C语言同时支持以上两种形式的小数。但是

  • 本文向大家介绍C / C ++中float和double的区别,包括了C / C ++中float和double的区别的使用技巧和注意事项,需要的朋友参考一下 众所周知,在C / C ++中,我们需要float和double数据类型来表示浮点数,即带有小数部分的数字。现在,根据这两种数据类型提供的精度,我们可以区分两者 其中。 简而言之,可以说double的精度是float的2倍,这意味着doub

  • 本文向大家介绍C语言的递归思想实例分析,包括了C语言的递归思想实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析C语言的递归思想,分享给大家供大家参考之用。具体方法如下: 通俗点来说,递归就是自己调用自己。 递归的难点一是理解递归的执行调用过程,二是设置一个合理的递归结束条件。 下面来看一段摘自书中的简单程序: 该程序用来计算阶乘,分别采用循环和递归实现。用语言来描述一下递归的执行过程

  • 本文向大家介绍C语言时间处理实例分享,包括了C语言时间处理实例分享的使用技巧和注意事项,需要的朋友参考一下 一、简介 时间处理在编程中经常遇到,包括程序的运行时间和显示时间等。在标准C中, 日期和时间的处理包含在 time.h 的头文件中,需要使用日期和时间相关的类型的函数的话, 需要导入time.h. 二、实例 1、计算时差 编译 gcc  -g -o time_diff time_diff.c

  • 问题内容: 我碰到了Java的一个奇怪角落(对我来说似乎很奇怪) o / p:是 o / p:错误 我观察到,如果我们将任意两个值(如我在示例中提到的float和double)与OR 进行比较,例如3.5、234.5、645.0,则输出为即两个值相等,否则输出为相等。 甚至我都试着做方法,但是没有运气。我错过了什么吗? 问题答案: 看一下每位计算机科学家应该了解的浮点数。 将无限多个实数压缩为有限

  • 本文向大家介绍python和C语言混合编程实例,包括了python和C语言混合编程实例的使用技巧和注意事项,需要的朋友参考一下 最近为了测试网速情况怎么样,由于部分业务服务器需要关闭icmp,这样的话采用普通的ping就无法适应我的需求,于是自己简单的写了一个基于tcp端口的ping的程序,由于c执行效率比较的不错,但是开发效率低下,而python是开发效率高,但是执行效率不如C,由于需要大规模的