unsigned int + int型结果分析
来源:互联网 发布:显示器支架 知乎 编辑:程序博客网 时间:2024/05/08 00:05
***************************************************
更多精彩,欢迎进入:http://shop115376623.taobao.com
***************************************************
代码如下:
“//”后为调试中的结果
unsigned int a = 6; //a = 6 【补码:0000 0000 0000 0000 0000 0000 0000 0110】
int b = -20; //b = -20 【补码:1111 1111 1111 1111 1111 1111 1110 1100】unsigned int c = a + b; //c = 4294967282 【补码:1111 1111 1111 1111 1111 1111 1111 0010】
int d = a + b; //d = -14
【int d = a + b; //d = -14:由 《补码:1111 1111 1111 1111 1111 1111 1111 0010》减去1,再取反得到14,保留最高位符号位】
if (a+b>6){
printf(">6\n"); //进入此判断,即a+b = c,而非d;
}
else
{
printf("<=6\n");
}
分析:
机器在数据都是由二进制补码表示的
正数的补码就是其本身
负数的补码是符号位不变各位取反再加一
8位机的话:
int a -1; 在机器中1111 1111
unsigned int b 1; 在机器中0000 0001
如果 a+b
a就转化为unsigned int 但里面的数值是不变的 1111 1111 把他转化成十进制2^8-1 + b
0 0
- unsigned int + int型结果分析
- unsigned int类型分析
- unsigned int
- unsigned int
- int+unsigned
- unsigned int 和int
- unsigned int 与 int
- unsigned int与int
- int 和 unsigned int
- unsigned char, unsigned int
- unsigned long unsigned int unsigned
- C unsigned int and int
- C unsigned int and int
- unsigned int 与 int 之和
- unsigned int与int相加
- unsigned int get_svrport(char *, char *, unsigned int);
- unsigned int reverse_bit(unsigned int value)
- unsigned int mysql中的unsigned
- 日常生活中的知识表及解题——找物品应用设想
- poj - 1953 - World Cup Noise(dp)
- scp远程拷贝文件
- 【无限互联】iOS开发之瀑布流布局实现(UICollectionView拓展Layout)
- 【BZOJ】【P1531】【POI2005】【Bank notes】【题解】【二进制优化背包】【300T留念】
- unsigned int + int型结果分析
- 阿所发生的广泛的黑白合同
- linux 0.11 源码学习--head.s
- iOS学习之Table View的简单使用
- S3C6410裸机中断编程
- UVa 11027 - Palindromic Permutation (编码与解码+组合数)
- Spark视频第6期:无需等待的实时计算时代如何在90分钟内通过Spark Streaming掌握大数据实时计算和流处理?
- mysql数据库解决中文乱码问题
- Spark视频第7期:Deep in Spark Core:RDD、Job、Scheduling(如何一次性掌握Spark 绝大部分的精髓?)