有符号整数与无符号整数相加问题
来源:互联网 发布:淘宝淘气值贷款新口子 编辑:程序博客网 时间:2024/04/29 15:56
#include<stdio.h>int main( ){ unsigned int a = 6; int b = -20; (a + b > 6) ? printf(">6") : printf("<=6"); return 0;}
整形(int)和无符号整形相加时,int先转化为unsigned int,b在内存中以-20的二进制补码形式存储。
执行a+b时,b要以unsigned int的形式读取内存中的数据,即将-20的补码按照unsigned int的形式理解读取(4,294,967,276)
也即:b = -20;先转化为 -20 + 2^32 = 4,294,967,276(unsinged int);此时与 a = 6相加必然大于 6
无符号数与有符号数做加法运算,先将有符号数转化为无符号数,然后做运算
一道经典小题:
输出为:1、0、2
little endian指低位字节排放在内存的低地址端(就是起始地址)
long long 占8个字节,假设起始地址是0,一个地址存一个字节,按照地位编址1,2会按照如下方式存储
地址 0 1 2 3 4 5 6 7 8 ...
内容 1 0 0 0 0 0 0 0 2 ...
%d只能按照四字节连续输出
那么第一个输出的便是0001=1 第二个输出0000=0 第三个输出0002
经典题3:
如果 x、y、z指向同一地址:8
只有两个相同的情况:x与y(5),x与z(5),y与z(6)
指向地址均不相同:4
0 0
- 有符号整数与无符号整数相加问题
- 有符号整数与无符号整数
- 有符号与无符号整数
- 无符号整数--问题
- 64位有符号与无符号类型的整数
- 有符号长整数 转 无符号长整数
- 整数溢出——无符号和有符号整数
- 有符号整数除以无符号整数会发生什么??!!!
- 无符号整数
- 无符号整数
- C语言的有符号与无符号,二进制整数的扩展与截断
- 有符号数和无符号数的相加问题
- 无符号数与有符号数相加的结果
- 有符号与无符号 整形变量 相加和比较
- InnoDB中关于有符号与无符号整数的测试
- 有符号整数 存储
- VC++与汇编语言混合编程事例-----两个无符号整数相加:
- VC++与汇编语言混合编程事例-----两个无符号整数相加
- 国际化(1)---JS文件国际化
- vmware压缩磁盘空间的方法[转]
- AltiumDesigner创建FPGA多引脚元件库
- UI07_ViewController
- 剑指Offer系列---(25)从上往下打印二叉树
- 有符号整数与无符号整数相加问题
- STL—— deque双向队列
- switchlayout
- 第三周项目2-建设“顺序表”算法库
- View中的draw和onDraw,dispatchDraw的区别
- BZOJ 1494 NOI2007 生成树计数 状压DP+矩阵乘法
- Web中树形数据(层级关系数据)的实现―以行政区树为例
- hdu 4738 Caocao's Bridges【求最小权值的桥】
- java SE复习笔记11