c语言 整型数据溢出问题

2024-11-21 04:52:35
推荐回答(4个)
回答1:

int 型 占4字节(帆蠢所占字节和编译器有关的,此处所说的是在VC上,比如在TC或BC上占2字节)让轿姿
有符号 int 范围 -2^31~2^31-1
无符号 int 范围 0~2^32-1
如果超出这个坦绝范围就会溢出

回答2:

#include "stdio.h"
#include "conio.h"
main()
{ /*数据腔磨吵溢出*/
int a,b;
a=32767;
b=a+1;
printf("%d,%d\n"伍侍,a,b);
getch();
}
a=32767 b=-32768

0111111111111111 32767
32767加1后变为
1000000000000000 为 -32768的游谈补码形式
注:数据在存储是都是以二进制的补码形式存储的。。。

回答3:

int类型一般是-32768~32767,你这数字明显超出范围啊。

回答4:

数空销据存储到内存是按照2进制存帆亏物储的
int型只能保存32位(二进制),如果超出了就会把态液前边的溢出了,就是保留后边的,前边的扔掉了

具体的还要涉及到正数和负数的问题,有符号的话,第一位是表示符号的