自动类型转换
来源:互联网 发布:淘宝店运营计划书 编辑:程序博客网 时间:2024/04/30 09:32
对于自动类型转换,最常见的就是 混合运算 以及 赋值运算,还有一种就是函数值的类型转换
- 赋值运算:自动把“=”右边的表达式的类型转换成“=”右边的变量的类型,例如 int a=4.5; a的值实际是4!
- 混合运算:就是一个运算表达式当中包含了多个类型,这时候就需要有类型转换。当运算符两边的操作数类型不同时,其中一个操作数就要经过类型转换以和另一个操作数的类型相一致,然后才能进行运算。
变换操作数采取就高不就低的原则,即级别低的操作数先被转换成和级别高的操作数具有同一类型,然后再进行运算,结果的数据类型和级别高的操作数相同。
高 double ←← float
↑ ↑
↑ long
↑ ↑
↑ unsigned
↑ ↑
低 int ←← char,short - 自动转换顺序表
int i = 0;i = 4.5 * 5;cout << i << endl; //22
unsigned int i = 10;int j = -1;if (i > j){cout << "yes" << endl;}else{cout << "no" << endl;}输出no
- 函数返回值的类型转换: int f1(){ return 36.8;}
ubuntu 64位机器测试结果
#include <iostream>using namespace std;int main(){ cout << sizeof(double) << endl; cout << sizeof(long) << endl; cout << sizeof(float) << endl; cout << sizeof(unsigned) << endl; cout << sizeof(int) << endl; cout << sizeof(char) << endl; cout << sizeof(short) << endl; cout << sizeof(char*) << endl; int i; i = 3.14 + 'a';}88444128
windows 32位操作系统
#include <iostream>using namespace std;int main(){cout << sizeof(double) << endl;//8cout << sizeof(long) << endl;//4cout << sizeof(float) << endl;//4cout << sizeof(unsigned) << endl;//4cout << sizeof(int) << endl;//4cout << sizeof(char) << endl;//1cout << sizeof(short) << endl;//2cout << sizeof(char*) << endl;//4int i;i = 3.14 + 'a';}
0 0
- c++自动类型转换
- java类型自动转换
- Java_自动类型转换
- 自动类型转换
- c类型自动转换
- java类型自动转换
- C++自动类型转换
- java自动类型转换
- 自动类型转换auto
- java自动类型转换
- 自动类型转换
- 类类型自动转换
- struts类型自动转换
- 自动类型转换
- 自动类型转换
- 自动类型转换
- 自动类型转换
- java自动类型转换
- HTTP协议
- zeppelin源码分析(2)——distribution assembly过程分析
- jQuery.validate 实现点submit跳过验证
- Objective-C 数字对象 (NSNumber)
- Git 的 .gitignore 配置
- 自动类型转换
- 内存屏障
- Runtime实践
- #28 – DispatcherObject
- 我的编程笔记-asp.net批量上传图片
- 对红黑树的理解【增加节点篇】
- HTML打印方法总结
- c#的委托(2)之调用实例化方法
- HTTP协议头及错误码详解