混合运算 数据类型转换
来源:互联网 发布:小猪微信营销系统源码 编辑:程序博客网 时间:2024/04/29 06:01
看下面例子,输出a+b为多少?
#include<iostream.h>
void main(){
unsigned int a=6;
int b=-20;
//cout<<a<<endl;
//cout<<(unsigned int)b<<endl;
cout<<a+b;
}
结果为4294967282,为什么不是-14呢?这地方有个混合运算在这!这是int和unsigned int 的计算,按规则都是转换为unsigned int 参与计算,b转化为unsigned int 为4294967276。
转化规则如下:char,short int ->int ->unsigned int ->long->double; flout->double.就是说低级转化为高级的,再进行计算,这个过程是自动完成的!
当然还有强制转化。
输出无符号 b的十六进制为ffffffec,其十进制为4294967282。具体怎么来的?看下面:(计算机32位的)
20的源码(16进制):00000014 最后两位转化为二进制,便于取反0001 0100
反码:ffffff(11110 1011)
补码:加+1 ffffff(11110 1100) 即为:ffffffec,无符号的数为4294967282。
类型转换的注意问题 1、表达式的类型转换是临时的,式中的常量或变量的原类型均不改变。 2、把运算结果赋给变量时,若运算结果的数据长度 > 变量的数据长度,会截去超长部分, 将可能导致精度降低或产生不确定的值。 3、类型转换占用系统时间,过多的转换会降低程序运行效率。除必要的外,应选择合适的数据类型。部分结果 copy:http://zhidao.baidu.com/question/73583558.html
- 混合运算 数据类型转换
- c混合运算和数据类型转换
- 数据类型及混合运算与类型转换
- 混合运算的数据类型统一
- 不同数据类型的混合运算
- 数据类型 数据类型转换 运算符
- 数据类型 数据类型转换 运算符
- 数据类型 数据类型转换 运算符
- 混合运算的类型转换
- php数据类型转换运算
- 数据类型转换&运算符
- C语言不同数据类型间的混合运算+常见数据类型
- 有关混合数据类型转换的一些想法
- 表达式运算中的数据类型转换
- Python3.运算符.数据类型转换
- 混合运算与类型转换规律
- C语言混合运算、强制转换盒运算符
- C语言中不同数据类型间混合运算的转换规则
- 学习心得——参数传递
- Linux 16进制查看命令、工具
- 如何为对话框增加最大化和最小化按钮
- lucene简单实例
- 巧辨const的语义
- 混合运算 数据类型转换
- 应聘上了天津天地伟业公司,大家帮看看待遇怎么样,值不值得,谢谢了
- HDOJ1205水题吃糖果
- 用Javascript 获取页面元素的位置的代码
- poj 1887 Testing the CATCHER(最长递增子序列)
- java学习笔记(三十五)
- XP安装VS2010后网卡启动慢的解法
- Linux(Ubuntu10.04)下搭建GTK(GNOME)开发环境
- Qt 学习笔记之一 —— Qt SDK 的下载安装与配置