c++算术运算符

3.4.1 运算符的优先级和结合性

四则运算参考四则运算优先级,注意括号。

3.4.2 除法的默认类型转换和精度问题

/*
* @Description: 除法
* @Author: Andrew
* @Date: 2019-10-21 14:44:38
* @LastEditors: Andrew
* @LastEditTime: 2019-10-21 14:58:17
*/
#include <bits/stdc++.h>
using namespace std; int main()
{
cout.setf(ios_base::fixed, ios_base::floatfield);
// 整数除法默认结果类型为整数,直接舍弃小数点后
cout << "整数除法:9/5: " << 9 / 5 << endl;
// 浮点数除法结果为浮点数 (浮点数默认为double类型)
cout << "浮点数除法:9.0/5.0: " << 9.0 / 5.0 << endl;
// 浮点/整数中,c++会将整数转为浮点数(向高精度转)
cout << "浮点/整数:9.0/5: " << 9.0 / 5 << endl;
cout << "默认double浮点型除法:1e7/9.0: " << 1e7 / 9.0 << endl;
// float不够长,精度不够结果不对
cout << "强制float除法:1e7f/9.0f: " << 1e7f / 9.0f << endl;
return 0;
}

上面的各种类型的除法其实是除法运算符的重载,这是OOP的一个重要概念

3.4.3 求模运算%

求余数的

3.4.5 类型转换

  1. 赋值/初始化时的类型转换

    • 如将一个short类型赋值给long类型,short类型会进行扩展,从而占用更多的字节,以达到long的长度。反之,将一个高精度的值(如double)赋值给低精度的值(如int),会自动缩减长度导致精度降低。高精度赋值给低精度结果是不确定的。

    • 此外,0赋值给bool会转为false,非0转为true

  2. 使用{}初始化时的类型转换

    c++11中,可以使用{}进行列表初始化。{}初始化时,会在内部判断目标变量能否正确存储所赋予的值,如果不行,会被视为非法。比如:float b {1}中,b的类型float可以完整存下int类型的1,初始化合法。int c {3.1415}中,int类型的c要存入double3.1415是不够的,会发生精度损失,这里就是非法的。再如double a {1}; int b {a}也是合法的,因为int够存下1的有效位数,所以ok的(然而还是会有warning,但是程序猿不是都不看warning吗

    Chapter03 第四节 c++的算术运算符的更多相关文章

    1. c语言学习之基础知识点介绍(四):算术运算符和逗号表达式

      本节主要介绍c语言中运算符. 运算符主要分为四类: 1.算术运算符 加(+),减(-),乘(*),除(/),取余(%,两数相除,得到余数) 2.关系运算符 3.逻辑运算符 4.换位运算符 下面将依次介 ...

    2. java中的算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符

      一.算术运算符 算术运算符主要用于进行基本的算术运算,如加法.减法.乘法.除法等. Java 中常用的算术运算符: 其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴 例 ...

    3. 慕课网-安卓工程师初养成-3-2 Java中的算术运算符

      来源:http://www.imooc.com/code/1279 算术运算符主要用于进行基本的算术运算,如加法.减法.乘法.除法等. Java 中常用的算术运算符: 其中,++ 和 -- 既可以出现 ...

    4. 大白话5分钟带你走进人工智能-第十四节过拟合解决手段L1和L2正则

                                                                                 第十四节过拟合解决手段L1和L2正则 第十三节中, ...

    5. MySQL常用运算符:算术运算符、比较运算符、逻辑运算符

      (一)  算术运算符 注意: 在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL. div运算符主要是求两个数相除的商 (二)  比较运算符:比较运算符的运算结果为1(条件为真),0 ...

    6. java入门---运算符&算术运算符&自增自减运算符&关系运算符&位运算符

          计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 ...

    7. 004-Shell 基本运算符、算术运算符、关系运算符、布尔运算符、辑运算符、字符串运算符、文件测试运算符

      一.概述 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 二.算术运算符 原生bash不支持简单的数学运算,但是可以通过其他命 ...

    8. android内部培训视频_第四节(1)_异步网络操作

      第四节(1):异步网络操作  一.结合asyncTask下载网络图片 1.定义下载类,继承自asyncTask,参数分别为:String(url地址),Integer(刻度,本例没有用到),BitMa ...

    9. PHP中的运算符---算术运算符、逻辑运算符、赋值运算符、比较运算符

      1.算术运算符 常见的算术运算符 运算类型 运算符 举例 结果 取反运算 - -$a 返回$a的负值 加法运算 + $a + $b 返回$a与$b的和 减法运算 - $a - $b 返回$a与$b的差 ...

    随机推荐

    1. 用Maven搭建简单的SpringMVC框架

      本文会详细阐述如何用Maven搭建一个简单的SpringMVC框架 这里就不介绍SpringMVC框架了,咱们直接来搭建 第一步 创建一个Maven的web项目  这里有一个简单的方法 new一个Ma ...

    2. SQLSERVER调用OPENROWSET的方法

      前言:正好这两天在同步生产环境的某张表数据到测试环境,之前用过一些同步数据软件,感觉不太可靠,有时候稍有操作不当,就会出现生产环境数据被清空等情况,还要去恢复数据.如果能恢复还好,不能恢复那么.... ...

    3. Taro 压缩图片api

      Taro API里面没有写支持compressImage,ts提示也是,开发者工具提示暂时不支持此API调试,请使用真机进行开发.这是因为Taro这个库没有把新的api加上,其实还是调用了wx.com ...

    4. 在UIScrollView、UICollectionView和UITableView中添加UIRefreshControl实现下拉刷新

      Apple在iOS 6中添加了UIRefreshControl,但只能在UITableViewController中使用,不能在UIScrollView和UICollectionView中使用. 从i ...

    5. redis开发使用规范

      redis开发使用规范 1.冷热数据分离,不要将所有数据全部都放在Redis中 根据业务只将高频热数据存储到Redis中[QPS大于5000],对于低频冷数据可以使用mysql等基于磁盘的存储方式. ...

    6. shell练习--PAT题目1003:我要通过!(成功案例)

      “答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”. 得到“答案正确”的条件是: ...

    7. 【java工具类】下载文件

      FileUtil.java /** * 下载文件 * @param file; * @param response */ public static void downloadFile(File fi ...

    8. Qt第三方库----QCustomPlot

      一.软件下载 下载地址:http://www.qcustomplot.com/index.php/download 这里推荐下载第一个链接的内容: 注:这里的第三方库要放在非中文目录下. 二.配置 ( ...

    9. 关于Struts2_2.3.24中FilterDispatcher过期的问题

      今天在使用最新版Struts2.3.24时,总是报出如下警告: ******************************************************************** ...

    10. Redis单节点部署

      安装Redis 由于REDIS使用单线程处理请求,CPU的快慢最对REDIS的性能有较大影响,官方建议INTEL的CPU,其效率能比AMD高一倍左右. 下载Redis:wget http://down ...