unsigned int与int相加的问题
来源:互联网 发布:流星搜剑录激活码淘宝 编辑:程序博客网 时间:2024/05/16 05:43
以前还真没在上面较过真,结果今天就被鄙视了,特地记下来。先看程序:
int main(){int a = -6;unsigned int b = 4;if(a+b > 0)printf("a+b>0\n");//这句话被打印elseprintf("a+b<0\n");int z = a+b;if(z > 0)printf("z>0");elseprintf("z<0");//这句话被打印}
下面解释一下原因:当int和unsigned in相加时,要将int转化为unsigned int,而int小于0,所以它的最高位是符号位,为1,所以转化的结果是一个很大的正数,在第一个if语句中,是两个“正数”相加,结果自然就大于0了。而在z = a+b这一句时,它把a+b的结果看做一个int类型,而a+b最高位为1,所以z是一个负数,所以打印的是第二个语句。
- unsigned int与int相加的问题
- unsigned int与int相加问题
- 浅谈unsigned int与int相加的问题
- unsigned int与int相加
- unsigned int与int相加如何转化问题
- unsigned int 和int 相加问题
- int 与 unsigned int (uint) 比较时出现的问题
- 由int与unsigned int 相加看c++类型转换
- 由int与unsigned int 相加看c++类型转换
- 由int与unsigned int 相加看c++类型转换
- 由int与unsigned int 相加看c++类型转换
- unsigned int 与 int
- unsigned int与int
- 关于unsigned int的 问题
- int 与 unsigned int、unsigned char 的计算
- int,long int, unsigned int,unsigned long int,long long的表示范围问题(转)
- unsigned int 与 int 之和
- 小米笔试题之unsigned int 与int的转换问题
- 如何注册 MSDN AA
- ORA-02030 WHEN GRANTING SELECT ON V$ VIEW
- ios 状态栏 覆盖自定义View
- expdp/impdp 详细参数解释
- 复杂多目录的Makefile模板及示例
- unsigned int与int相加的问题
- 开发记事
- 【说说网络流的那些事】网络流基础知识Ver0.1(算法篇)
- 让记事本默认以Unicode或UTF-8编码保存避免ANSI乱码的方法技巧
- 选择文件时,选多个文件
- Android开发错误信息与解决方案汇总
- 如何用C语言获取文件的大小
- 2012年9月几个公司的笔试题
- AsterixGettingStarted