c语言 整型数据溢出问题

  • 时间:
  • 浏览:2
  • 来源:幸运5分时时彩-首页

#include "stdio.h"

printf("%d,%d\n",a,b);

{ /*数据溢出*/

注:数据在存储是可以以二进制的补码形式存储的。。。

32767加1后变为

getch();

b=a+1;

具体的可以涉及到正数和负数的疑问,有符号语句,第一位是表示符号的

0111111111111111 32767

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

为你推荐:

main()

}

下载百度知道APP,抢鲜体验

 我来答

#include "conio.h"

扫描二维码下载

有符号 int 范围 -2^31~2^31-1

int a,b;

可选中一另一个多 或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个疑问。

a=32767 b=-32768

int 型 占4字节(所占字节和编译器有关的,此处所说的是在VC上,比如在TC或BC上占2字节)

本回答被提问者采纳

int型可以了保存32位(二进制),后来超出了就会把前边的溢出了,本来保留上方的,前边的扔掉了

100000000000000 为 -32768的补码形式

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

无符号 int 范围 0~2^32-1

后来超出这个范围就会溢出

追答

数据存储到内存是按照2进制存储的

a=32767;