c/c++自动类型转换
来源:互联网 发布:淘宝卖家刷信誉被处罚 编辑:程序博客网 时间:2024/05/05 13:00
学习各种语言,必须要有扎实的基础知识。C和C++有很多灵活性的东西,所以在编程时一定要牢记这些知识点。
->不同类型数据间的混合运算中的自动类型转换。
当一个表达式中有不同的数据类型参加时,默认情况下会进行自动类型转换。转换过程当中以运算中最高级别为准。
其中横向箭头是必定发生的转换。纵向箭头是可以直接越级的。另外必定发生的转换是因为数据长度的不同的,计算的时候目的是为了保证精度。
举例:
int a = - 20;
unsigned char b = 20;
unsigned int c = 20;
int d = 0;
(1) d = a/b ;//结果是-1
(2) d = a/c ;// 结果你可能想不到,可以自己试验,当然这里整数除法还要考虑到余数的舍去问题
(3) d = a/(int)c;//结果是-1
这个例子中式(1)中b是自动转换成int型的,横向的转换。式(2)的问题是unsigned int 实际比int级别要高,所以进行了自动转换,将a转换成了无符号型,如果这个值是正值,这里不会有问题,但是负值就有问题了。所以式(2)要改写成式(3)的样式,即进行强制转换。
强制类型转换相对直白,但是必须注意转换中可能会丧失的有效字节。其实这种转换是不安全的。
0 0
- c类型自动转换
- C语言类型自动转换
- c语言 自动类型转换
- C语言自动类型转换
- c/c++自动类型转换
- C语言自动类型转换
- c语言的自动类型转换
- c语言的自动类型转换
- c语言的自动类型转换
- C常见问题之自动类型转换
- c语言的自动类型转换
- c语言的自动类型转换
- c语言的自动类型转换
- Objective-C KVC 自动转换类型研究
- C语言的自动类型转换
- C/C++的自动类型转换
- c 类型自动转换 出现问题
- c语言的自动类型转换
- Linux防火墙白名单设置
- bash 点号(.)和source命令的使用
- 课程实践——第一个——小学生测试系统
- 类型信息(part1)
- 好用得计时器
- c/c++自动类型转换
- VirtualBox CentOS6.x——安装增强包
- AR(增强现实)开发者资源汇总
- Beaglebone Black基本操作(Debian)
- Activity的启动模式
- leetcode258
- 【VS开发】fatal error C1001:编译器中发生内部错误
- 拖拽
- Nginx安装使用