隐式类型转换
来源:互联网 发布:防晒面料 知乎 编辑:程序博客网 时间:2024/05/18 03:06
转换的规则
若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。
所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
char型和short型参与运算时,必须先转换成int型。
在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。
转换规则如图:
#include<stdio.h>int main(){ float PI=3.14159; int s1, r=5; double s2; s1 = r*r*PI; s2 = r*r*PI; printf("s1=%d, s2=%f\n", s1, s2); return 0;}运行结果:s1=78, s2=78.539753
在计算表达式
需要注意的
- 赋值运算时(
double→int )是将小数部分直接丢掉,而不是按照四舍五入向前舍入。 - 无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。
参考【博文】
0 0
- 隐式类型转换
- 隐式类型转换
- 类型隐式转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- -隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 解决github :error: failed to push some refs to 问题
- iOS遍历打印所有子视图
- opencv2与opencv的不同
- 【数据结构_树_Tree_0981】统计利用二叉树存储的森林中树的棵数
- STM32基础(三)----DMA总结笔记
- 隐式类型转换
- 位运算简介及实用
- poj 1664 放苹果 (递推)
- 数据(CDQ分治+树状数组)
- 关于Qt中继承了QObject类的信号与槽问题:
- 关于Android setTextSize() 以及 px dip/dp sp的说明
- linuxIPC之信号量(集)
- 如何修改eclipse中某个工程的JDK编译环境
- 个人博客搭建完成了,欢迎访问:http://wintersmilesb101.online