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. P1058 立体图题解

    小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请你帮他画出立体图. 小渊有一块面积为m \times nm×n的矩形区域,上面有m \times ...

  2. SpringCloud组件架构图

    总结一下spring cloud 的结构: 1.请求统一通过API网关(Zuul)来访问内部服务. 2.网关接收到请求后,从注册中心(Eureka)获取可用服务 3.由Ribbon进行均衡负载后,分发 ...

  3. 常用命令之------ln

    当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的 ...

  4. Java中CharSet字符集

    java.nio.charset包中提供了Charset类,它继承了Comparable接口:还有CharsetDecoder.CharsetEncoder编码和解码的类,它们都是继承Object类. ...

  5. shell之文本过滤(awk)

    shell之文本过滤(awk) 分类: linux shell脚本学习2012-09-19 15:53 1241人阅读 评论(0) 收藏 举报 shell正则表达式脚本任务语言 如果要格式化报文或从一 ...

  6. Python实例31[批量对目录下文件重命名]

    经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如: 修改前:[大家网]Mac OS X for Uni ...

  7. 集合综合练习<一>

    1208421001,关羽,数学,93 1208421001,关羽,英语,88 1208421002,张飞,语文,82 1208421002,张飞,数学,83 1208421002,张飞,英语,89 ...

  8. hexo+github+Theme Art Design文章发布

    新建 hexo new "YYYY-MM-DD-title" 为了更好的标识文章和防止重复,文章对应的markdown文件的命名应该遵循:YYYY-MM-DD-title 格式. ...

  9. day02 计算机基础部分作业题

    1. 简述执行Python程序的两种方式以及他们的优缺点: 交互式: 优点:在cmd窗口环境下,运行Python解释器,执行一行代码打印一行,执行速度快,立马显示结果: 缺点:关闭窗口,被执行的代码和 ...

  10. Jenkins自动打包并部署(以java -jar形势运行)

    1.打包 与平常maven项目打包一致,不再赘述 2.杀死原有进程 通过 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` 获取当前 ...