浮点数 C++算术运算符

来源:互联网 发布:iptv网络电视 apk 编辑:程序博客网 时间:2024/09/21 08:16

浮点数

计算机将浮点数分成两部分存储。一部分表示值。另一部分用于对值进行放大或缩小。缩放的作用是移动小数点的位置,术语浮点因此而得名。

浮点数两种表示方法

1、标准小数点表示法

d.dd

2、E(e)表示法

d.ddE+n(d.ddEn)指将小数点向右移动n位,d.ddE-n指将小数点向左移动n位

有效位数

从左边第一个不是0的数字起,到精确到的位数止,所有的数字都叫做这个数的有效数字
C和C++对于浮点数有效位数的要求是,float6位,double15位。
代码示例

//float.cpp -- floating=point types#include<iostream>int main(){    using namespace std;    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;    cout<<"tub="<<tub;    cout<<",a million tubs = "<<million*tub;    cout<<".\nand ten millions tubs = ";    cout<<10*million*tub<<endl;    cout<<"mint = "<<mint<<" and a million mints = ";    cout<<million*mint<< endl;    return 0;}

这里写图片描述

C++算术运算符

求模运算符

%求模运算符,其值的符号和被除数的符号相同

以{}方式初始化时进行的转换(C++11)

C++11将使用大括号的初始化称为列表初始化,因为这种初始化常用于给复杂的数据提供值列表,他对类型转换的要求更加严格,不允许缩窄。

const int code = 66;int x = 66;char c1 {31325};//不允许char c2 = {66};//允许char c3 = {code};//允许char c4 = {x};//不被允许x = 31325;char c5 = x;//允许

C++编译器算数表达式类型转换校验表

  1. 如果又一个操作数的类型是long double,则将另一个操作数转换为long double。
  2. 否则,如果有一个操作数的类型是double,则将另一个操作数转换为double。
  3. 否则,如果有个操作数的类型是float,则将另一个操作数转换为float。
  4. 否则,说明操作数是整数,因此执行整型提升。
  5. 在这种情况下,如果两个操作数都是有符号或无符号的,且其中一个操作数比另一个低,则转换为级别高的类型。
  6. 如果一个操作数为有符号,另一个操作数为无符号,且无符号操作数的级别比有符号数高,则将有符号操作数转换为无符号操作数所属的类型。
  7. 否则,如果有符号类型可表示无符号类型的所有可能取值,则将无符号操作数转换为有符号操作数所属类型。
  8. 否则,将两个操作数都转换为有符号类型的无符号版本。

static_cast<>可用于将值从一个数值类型转换为另一种数值类型。

0 0