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. 解决Kloxo出现Could not open database connection问题

    当我们在使用或者运行kloxo面板的时候,可能会出现类似"Could not open database connection"错误提示,对于新手朋友来说肯定本身安装面板管理VPS ...

  2. LCA统计

    读入挂 inline void read(int &v) { v = ; ; ; ') { if (c == '-') { p = -; } c = getchar(); } ') { v = ...

  3. mysql安装配置和启动

    MySQL数据库安装配置和启动   1,下载MySQL 打开MySQL的官网www.mysql.com,发现有一个DOWNLOADS 点击它,进入到MySQL的下载页面,在页面的底部有一个MySQL ...

  4. CSS设置背景色

    最好用background-color:rgba(37,77,113,1); 因为用opacity会让所有自标签都改变

  5. Send Email

    private string SendEmail(string mailTo, string body, ref int sendresult) { string errorEmailAddress ...

  6. linq/EF 使用技巧笔记

    先上图 1.linq列转行(如图从上到下,action_type即power字段),其实严格意义上来说,并不是linq,只是用了循环 List<NavigationDto> leaf = ...

  7. SSM整合之---简单选课系统

    简单选课系统 一.实体图 二.功能 三.代码实现 1.SSM环境搭建 (1)pom.xml <dependencies> <dependency> <groupId> ...

  8. HDU1026--Ignatius and the Princess I(BFS记录路径)

    Problem Description The Princess has been abducted by the BEelzebub feng5166, our hero Ignatius has ...

  9. Oracle开发:dba和sysdba的区别

    oracle dba和sysdba的区别如下: 1.dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已.而且,dba是 ...

  10. MySQL主从服务器的原理和设置

    一 主从配置的原理     mysql的Replication是一个异步的复制过程,从一个mysql instance(Master)复制到另一个mysql instance(Slave), 在mas ...