求int long char double float 在混合运算中的自动转换规则 win 32位系统。
答案:2 悬赏:10 手机版
解决时间 2021-02-25 19:57
- 提问者网友:我们很暧昧
- 2021-02-25 08:40
求int long char double float 在混合运算中的自动转换规则 win 32位系统。
最佳答案
- 五星知识达人网友:西岸风
- 2021-02-25 09:11
在程序运行中,变量的数据类型是可以转换的,转换方式有两种。
一、自动转换:自动转换发生在不同数据类型的量运算时,由编译系统自动完成。
1.自动转换遵循的规则
(1)若参与运算的量的数据类型不同,则先转换成同一类型,然后进行运算。
(2)转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算。
(3)所有的浮点运算都是以双精度(double)进行的,即使仅含有float变量的运算式,也要先转换为double再运算。
(4)char型和short进行运算时,要先转换为int型。
(5)在赋值运算中,赋值号两边的数据类型不同时,将赋值号右边的数据类型转换成左边的类型,结果是如果右边量的数据长度长于左边长度,会使一部分数据丢失,会降低精度,丢失的部分四舍五入。
2.自动转换的运算规则
float →→→→→ double 高级类型
↑
↑ ↑
long ↑
↑ ↑
↑ ↑
unsigned ↑
↑
↑
char,short →→→→→ int 低级类型
P.s横向箭头是运算时必定要进行的转换
如:char必须转换为int才可以运算
float必须转换为double 才能运算
纵向箭头表示当运算对象的类型不同时转换的方向
如char和float运算,是将char转为double后运算
一、自动转换:自动转换发生在不同数据类型的量运算时,由编译系统自动完成。
1.自动转换遵循的规则
(1)若参与运算的量的数据类型不同,则先转换成同一类型,然后进行运算。
(2)转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算。
(3)所有的浮点运算都是以双精度(double)进行的,即使仅含有float变量的运算式,也要先转换为double再运算。
(4)char型和short进行运算时,要先转换为int型。
(5)在赋值运算中,赋值号两边的数据类型不同时,将赋值号右边的数据类型转换成左边的类型,结果是如果右边量的数据长度长于左边长度,会使一部分数据丢失,会降低精度,丢失的部分四舍五入。
2.自动转换的运算规则
float →→→→→ double 高级类型
↑
↑ ↑
long ↑
↑ ↑
↑ ↑
unsigned ↑
↑
↑
char,short →→→→→ int 低级类型
P.s横向箭头是运算时必定要进行的转换
如:char必须转换为int才可以运算
float必须转换为double 才能运算
纵向箭头表示当运算对象的类型不同时转换的方向
如char和float运算,是将char转为double后运算
全部回答
- 1楼网友:持酒劝斜阳
- 2021-02-25 10:10
有两种类型的的运算,一般都是采取向上转型,也就是会转成char
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯