隐式转换
double ←←←←←←float 高
↑
↑
long
↑
↑
unsigned
↑
↑
int ←←←←←← char,short 低
float x = 2.0; x = 11/3
x是float类型
3是int类型
因为3赋值到float这个变量类型里面了就变成3.0了
所以x=3.0
这个思路是不是这样的
如果再创建个int类型变量y
y=2.0
是不是float类型的变量2.0 赋值到int类型变量y里面就变成2了
又或者是这个样子的
因为上面那个代码表的排序是从低位到高位
char-short-int-unsigned-long-float-double
因为float比int高,所以前面的int 3自动就加了一个隐藏的float类型
float x=(float)3
如果是这样的float不应该是3.00么
数据类型转换一块我有点不清楚,上面写的是我的个人理解我也不知道那个是对的
这个章节案例讲的那个有符号和无符号那个(-20+6)我清楚,二进制的转换补码相加
对于这种有小数点,对照着这个章节的那个箭头指向就比较迷糊
char怎么也可以指向int
主要是int和float都指向double 但是int碰见了float就转成了float,float碰见了int呢
麻烦老师看一下这个那个是对的
类型转换是根据那个 赋值的变量数据类型储存 还是 前面自动加一个隐式转换
如果是自动加一个float和int都是指向double为什么要转成float
8
收起
正在回答 回答被采纳积分+1
1回答
物联网/嵌入式工程师
- 参与学习 394 人
- 提交作业 22954 份
- 解答问题 1163 个
行业热门,政策风口,人才缺口极大,现在入场时机正好! 上千人检验,数轮迭代的硬核知识体系,软硬件通吃 保姆式教学+简历指导+1V1模拟面试+3次内推,助力轻松就业!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星