3.3 浮点数

3.3.1 浮点数的表示

  1. 常规表示:12.34、0.01、8.0
  2. E表示: 2.5e+8(2.5 *10^8)、7E6(7.0 *10^6) (e大小写随意)

(e+x或者E-x表示小数点前移或后移x个位置,所以叫做浮点数)

3.3.2 浮点数类型

有效位:从右往左数第一个不为0的数起到最左边

/*
* @Description: 浮点数精度问题
* @Author: Andew
* @Date: 2019-10-21 11:03:29
* @LastEditors: Andrew
* @LastEditTime: 2019-10-21 11:30:47
*/
#include <bits/stdc++.h>
using namespace std; int main()
{
//原cout输出函数会默认不输出最后的0,使用cout.setf()来指定输出格式
cout.setf(ios_base::fixed, ios_base::floatfield);
float tub = 10.0 / 3.0;
double mint = 10.0 / 3.0;
const float million = 1.0e6; // tub和mint的原始值都应该是3.33333333333333333333333.....
// 然鹅float只保证7位有效位,也就是在7位内还是正确的
cout << "tub = " << tub << endl;
// 所以这里*million超过了float的精度,就会出错
cout << "a million tub = " << million * tub << endl;
// 同样,*的数字越大,错误越明显
cout << "ten million tubs = " << 10 * million * tub << endl;
// double有15位有效位,所以15位之内精度都保证。这就是为什么double比float精度高。
// 底层原理可以查看float和double在内存中的结构
cout << "mint = " << mint << endl;
cout << "million mint = " << million * mint << endl;
return 0;
}

3.3.3 浮点常量

对于浮点常量,系统为了精度舍弃空间,默认存储为double类型。如果想要定义float/long double类型,可以添加后缀。如1.2f、2.233F、2.2L

3.3.4 浮点数优缺点

优:表示范围更大

缺:运算慢、有精度问题

Chapter03 第三节 浮点数的更多相关文章

  1. 第二章 Mysql 数据类型简介--(整数类型、浮点数类型和定点数类型,日期与时间类型,字符串类型,二进制类型)

    第一节:整数类型.浮点数类型和定点数类型 1,整数类型 2,浮点数类型和定点数类型 M 表示:数据的总长度(不包括小数点):D 表示:小数位:例如 decimal(5,2) 123.45存入数据的时候 ...

  2. 平方根的C语言实现(一) —— 浮点数的存储

    版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7203254.html 作者:窗户 Q ...

  3. Chapter03 Java变量

    Chapter03 变量 目录 Chapter03 变量 3.1 为什么需要变量 3.1.1 一个程序就是一个世界 3.1.2 变量是程序的基本组成单位 3.1.3 简单原理图 3.2 变(变化)量( ...

  4. android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)

    第三节(2):常用控件之ViewPager.日期时间相关.ListView  一.ViewPager 实例:结合PagerAdapter滑动切换图片  二.日期时间相关:AnalogClock\Dig ...

  5. javascript中的浮点数运算

    解释一下下面代码的输出 console.log(0.1 + 0.2); //0.30000000000000004 console.log(0.1 + 0.2 == 0.3); //false Jav ...

  6. 并行计算提升32K*32K点(32位浮点数) FFT计算速度(4核八线程E3处理器)

    对32K*32K的随机数矩阵进行FFT变换,数的格式是32位浮点数.将产生的数据存放在堆上,对每一行数据进行N=32K的FFT,记录32K次fft的时间. 比较串行for循环和并行for循环的运行时间 ...

  7. shell if 浮点数比较

    转shell中的浮点数比较http://nigelzeng.iteye.com/blog/1604640 博客分类: Bash Shell shell比较浮点数  由于程序需要,我要判断一个浮点数是否 ...

  8. PHP浮点数精度问题

    这一段时间维护一个类似团购的系统,需要处理订单,也就难免会处理金额 所以有很多PHP的坑 被我狠狠的踩了~~ 首先我们要知道浮点数的表示(IEEE 754): 简言之 就是 埋下了一个大坑 等着你跳 ...

  9. 关于Linux系统下错误“浮点数异常(核心已转储)”的分析

    1.问题发现 有这样一段代码: #include <stdio.h> int main() { int a, b, num1, num2, temp; printf("pleas ...

随机推荐

  1. 认识JWT(转)

    1. JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,用于作为JSON对象在各方之间安全地传输信息.该 ...

  2. 【BZOJ3684】大朋友和多叉树(拉格朗日反演)

    题目链接 题意 求满足如下条件的多叉树个数: 1.每一个点的儿子个数在给定的集合 \(S\) 内 2.总的叶子节点树为 \(s\) 儿子之间有顺序关系,但节点是没有标号的. Sol 拉格朗日反演板子题 ...

  3. CF1257E/F

    E 给出三个序列共n个元素,每个元素值为1~n且不重 一次可以把一个元素换到另一个序列中,求最少操作次数使得三个序列(可为空)分别排序后并在一起为1~n顺序 题解 (伪)神仙题 随便dp,依次考虑每个 ...

  4. maven项目解决pom.xml头部 http://maven.apache.org/xsd/maven-4.0.0.xsd报错的问题

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_36611526/article/d ...

  5. sql 查询 某字段是否重复

    select count(*) from ( select * from 客户 )C GROUP BY 客户编码 select * from ( select count(*)num from ( s ...

  6. C# SqlSugarClient分析一点

    public class UserManager : DbContext<User>{} UserManager userdb = new UserManager(); //创建对象 va ...

  7. BZOJ 2121: 字符串游戏 区间DP + 思维

    Description BX正在进行一个字符串游戏,他手上有一个字符串L,以及其他一些字符串的集合S,然后他可以进行以下操作:对 于一个在集合S中的字符串p,如果p在L中出现,BX就可以选择是否将其删 ...

  8. UVa 10603 Fill (BFS && 经典模拟倒水 && 隐式图)

    题意 : 有装满水的6升的杯子.空的3升杯子和1升杯子,3个杯子中都没有刻度.不使用道具情况下,是否可量出4升水呢? 你的任务是解决一般性的问题:设3个杯子的容量分别为a, b, c,最初只有第3个杯 ...

  9. javac不是内部或外部命令在win10上的解决方案

    Path环境变量能够让你在任何路径都能使用命令,可能你百度谷歌了各种方案都无法解决javac无法使用的问题,那么你可以试试如下解决方案: 首先博主配置了JAVA_HOME 参数为 C:\Program ...

  10. Spring Boot教程(二十三)使用Swagger2构建强大的RESTful API文档(2)

    添加文档内容 在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容.如下所示,我们通 ...