溢出 隐式转换 负数存储

来源:互联网 发布:丹朱围棋软件 编辑:程序博客网 时间:2024/06/14 01:05

下面是对《c语言深度剖析》中的几段代码的测试,可以帮助加深理解:

#include<stdio.h>
#include<string.h>


int main()
{
/* 255  溢出
char a[1000];
int i,len;


len = 0;
for(i = 0;i<1000;i++)
{
a[i] = -1-i;
}
len = strlen(a);
*/


// -0 补码 0000 00000补码 0000 0000
/* 429496728(unsigned int)i 有符号数被隐式转换为无符号数
int i = -20;
unsigned j = 10;
unsigned k;


k = i+j;
*/


//无限循环
unsigned i;
unsigned int k;
// 4294967295 (0xFFFF FFFF) -1 的补码
k = (unsigned int)0 - 1;


for(i = 9;i>=0;i--)
printf("%u \r\n",i);


return 0;
}

0 0
原创粉丝点击