当前位置: 首页 > news >正文

C++ 混合运算的类型转换

一 混合运算和隐式转换

2+5=7
整型2+ 浮点5 行吗?成吗?中不中?
C++ 中允许相关的数据类型进行混合运算。
相关类型。
尽管在程序中的数据类型不同,但逻辑上进行这种运算是合理的相关类型在混合运算时会自动进行类型转换,再计算隐式转换。

二 算术转换

转换原则:
确保计算值的精度。转换后尽可能不丢失有效数字。
short,2字节,能表示的数小;
int,4字节,能表示的数大;
int转short,要丢掉2字节的信息,不可取。
short转int,增加存储空间,但不丢失信息,可行。

转换方式
字节少的向字节多的转换

char,unsigned char,unsigned short,boolint cout<<('a'+5)<<endl;

精度低的向精度高的转换

int float double
cout<<(5+3.5)<<endl;

有符号向无符号转换

int unsigned int
unsigned int ui=32678
cout<<(5+ui)<<endl;

三 隐式转换时机

混合类型的表达式

int n=2;
char c='a';
cout<<(c+n)<<endl;

赋值
向左值类型转换

double a=8.12;
int k;
k=a;

在需要关系、逻辑表达式的地方。
非0转true,0转false
在这里插入图片描述

四 显式转换

程序中明确标记转换的类型,就是显式转换,也就是强制类型转换。
格式
<类型>(<表达式>)
(<类型>)<表达式>
举例

double a=128,b=30;
int n=3;
a=(double)n/2;
n=int(a/b);

总结

(1)相同类型的数据运算,结果的类型不变;
(2)不同类型的数据运算,自动向精度高的类型转换;
(3)赋值运算,向左值类型转换;
(4)强制类型转换;
(<类型>)变量或常量;
<类型>(<表达式>)
(5)精度高向精度低的类型转换,会损失精度;
(6)整型相除,结果为整型,小数被舍去;
在这里插入图片描述

http://www.dtcms.com/a/10578.html

相关文章:

  • 读书-《蛤蟆先生去看心理医生》
  • 从1.0到4.0,看看你公司的费控模式是第几代?
  • Vitis HLS 学习笔记--控制驱动与数据驱动混合编程
  • 常见排序算法之选择排序
  • python之生成器表达式
  • 数字水印 | 附彩色图像论文:盲式水印嵌入的方法
  • 汽车软件单元测试分析
  • 当没用git工具是怎么快速下载项目
  • 2024年5月个人工作生活总结
  • Mac电脑重置网络命令
  • 多语言for循环遍历总结
  • 学习java第九十天
  • Linux文本处理三剑客之awk命令
  • 房地产销售管理系统具备哪些功能?
  • 下载安装nvm,使用nvm管理node.js版本
  • Linux - 高级IO
  • 10- Redis 键值对数据库是怎么实现的?
  • 人工智能专业现代学徒制人才培养质量评价体系构建
  • 2024.06.04【读书笔记】丨生物信息学与功能基因组学(第十章 多序列比对的基本概念与应用 第四部分)【AI测试版】
  • github有趣项目:Verilog在线仿真( DigitalJS+edaplayground)
  • 000002 - Hadoop环境安装
  • [Algorithm][动态规划][回文串问题][回文子串][最长回文子串][分割回文串Ⅳ]详细讲解
  • 深度解读CharGPT基本原理
  • PyTorch学习(12):PyTorch取极值(max, argmax, min, argmin)
  • 【JavaEE】Servlet
  • Google 解释AI 概览:关于上周的一些情况
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(Object Pascal中的泛型)
  • 【2024年5月备考新增】】 考前篇(32)《必备资料(15) - 论文串讲-项目安全管理》
  • 大模型应用框架-LangChain
  • 计算机网络期末知识总结(第一章)