/*
// assigning a short to a long
C++丰富的类型允许根据需求选择不同的类型,这也使计算机的操作更复杂。例如,将两个short值相
加涉及到的硬件编译指令可能会与将两个long值相加不同。由于有11种整型和3种浮点类型,因此计算
机需要处理大量不同的情况,尤其是对不同的类型进行运算时。为处理这种潜在的混乱,C++自动执行很
多类型转换:
●将一种算术类型的值赋给另一种算术类型的变量时,C++将对值进行转换。
●表达式中包含不同的类型时,C++将对值进行转换。
● 将参数传递给函数时,C++将对值进行转换。
如果不知道进行这些自动转换时将发生的情况,将无法理解一些程序的结果,因此下面详细地介绍这
些规则。
1. 赋值时进行的转换
C++允许将 一种类型的值赋给另一种类型的变量。这样做时,值将被转换为接收变量的类型。例如,
假设 so_long的类型为long,thirty 的类型为short,而程序中包含这样的语句:
so long = thirty;
则进行赋值时,程序将thirty的值(通常是16位)扩展为一个long值(通常为32位)。扩展后将得到
一个新的值,这个值被存储在so_long中,而thirty 的内容不变。
将·个值赋给取值范围更大的类型通常不会导致什么问题。例如,将short值赋给long 变量并不会改
变这个值,只是占用的字节更多而已。不过,将一个很大的long值(如2111222333)赋给float变量将降
低精度。因为float只有6位有效数字,因此这个值将被四舍五入为2.11122E9。因此,有些转换是安全的,
有些则会带来麻烦。表3.3列出了 …- 些可能出现的转换问题。
*/
- #include
- int main()
- {
- using namespace std;
- cout.setf(ios_base::fixed,ios_base::floatfield);
- float tree=3;
- int guess=3.9832;
- int debt=7.2E12;
- cout<<"tree="<
- cout<<"guess="<
- cout<<"debt="<
- return 0;
- }
-
相关阅读:
雅思写作-杜仕明
ELF文件格式解析
Kamiya丨Kamiya艾美捷狗CRP ELISA说明书
UE5中实现沿样条线创建网格体2-SplineMesh版本
TIA博途中如何在网络视图中显示完整的设备名称?
边缘计算AI智能安防监控视频平台车辆违停算法详解与应用
NeRF综述
国内网络编译,Ambari 2.7.6 全部模块源码编译笔记
如何用vscode远程连接Linux服务器
快速上手Linux核心命令(四):文件内容相关命令
-
原文地址:https://blog.csdn.net/Popcorn_zyh/article/details/133961410
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU