【C++入门】04、C++浮点型

1、浮点数

  • 浮点数是能够表示带小数部分的数字,他可以表示更大范围的数

  • 例如使用浮点类型表示314.15这样带小数部分的数字,计算机将其分成两部分存储,一部分表示值,一部分对值进行放大或缩小(也就是缩放因子). 最终上面的数字表示值为0.31415,而缩放因子为1000。

浮点数的写法:

  • 一种是标准小数点表示法:12.3, 0.8

  • 一种是E表示法,如3.45E6的值为3.45*1000000,E6意思是10的6次方,E表示法适合非常大和非常小的数,使用E-6是10的-6次方

2、浮点类型

  • C++有3中浮点类型:float、double和long double。

  • 可以使用ostream的setf() 方法来控制浮点数的进度输出。

浮点数的优缺点:

  • 浮点数可以表示整数之间的值,且由于有缩放因子,可以表示更大范围的值

  • 但是浮点运算速度同样比整数运算慢,且精度会降低。

3、C++算术运算符

  • 5种基本的C++算术运算符:+ - * / %

  • 算术运算符遵循通常的代数优先级,先乘除后加减

除法运算结果类型

  • 除法运算符(/) 的行为取决于操作数的类型。如果两个操作数都是整数,则C++将执行整数除法。结果的小数部分将被丢弃,最后的结果是一个整数。

  • 如果其中有一个(或两个)操作数是浮点值,则小数部分将保留,结果为浮点数

4、类型转换

C++类型转换的三种情况:

  • 将一种算术类型的值赋值给另一种算术类型的变量时,C++将堆值进行转换

  • 表达式中包含不同的类型时

  • 将参数传递给函数时。

将一个值赋给取值范围更大的类型通常不会导致什么问题。

  • 例如将short值付给long变量不会改变这个值

  • 但是将一个很大的long值,赋给float变量,将降低进度,float只有6位有效数字。

  • 将浮点型转换为整型时,C++采取截取(会丢弃小数部分)而不是四舍五入。最后int变量无法存储。

强制类型转换 static_cast<>

  • 可将一种数值类型转换为另一种数值类型。

5、总结

  • 浮点数,浮点类型,表示值范围

  • 算术运算符

  • 类型转换,强制类型转换

  • 精度变化

相关推荐
倒头就睡的小比特2 天前
算法竞赛C++常用的STL
c++·算法
weilx12342 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
Smileyqp沛沛2 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光2 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
吞下星星的少年·-·2 天前
C++ 萌新语法入门篇
c++·算法比赛
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
another heaven2 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法