笔记:显式转换和隐式转换

本文探讨了编程中的类型转换概念,包括隐式转换和显式转换。隐式转换允许在数据取值范围内的类型自动转换,确保数据位不变。显式转换则需要额外的代码来强制转换,可能伴随数据丢失风险,如在计算坐标点距离时因显式转换导致的错误结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要谈显式转换和隐式转换,那么先来看看类型转换的定义:
类型转换:即把数据从一种类型转换成另外一种类型;
PS:在操作系统中,数据都是一系列的位;
隐式转换:
不需要做任何工作,也不需要另外编写代码,即可完成隐式转换;
任何类型A,只要其取值范围在类型B的范围内,类型A的数据就可以隐式转换为类型B,可以理解为“小范围的数据类型”可以隐式转换为“大范围的数据类型”;
这么做的原因,主要是因为,如果把数据放在变量中,而该数据超出了变量的取值范围,则肯定会出问题,所以隐式转换保证了数据在转换前后,“位”上的数据不会发生变化;
显式转换:
明确要求编译器将数值从一种类型转换成另外一种类型,因此,显式转换需要另外编写代码;显式转换类似于:虽然系统对这么做提出了警告,但我仍然想这么做,并且,我对这么做的后果负责;我的理解就是显式类型转换就是强制类型转换;
显式转换方法:
在需要显式转换变量前在“()”中写入期望转换的类型;
即:int a = 0;
short b = 0;
// 将变量a显式类型转换成short 并赋值给b,编码如下;
b = (short)a;
显式类型转换过程中,最重要是了解是否存在数据丢失的情况,如果存在数据丢失的情况,就会发生严重的后果;
之前遇到的问题为:计算两个坐标点之间的距离,由于两点间距离变量存在显式类型转换,在转换后的数据丢失,所以导致计算结果错误;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只管码

感谢您的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值