c语言中int型的数超出范围会是怎样的?

[复制链接]
查看11 | 回复5 | 2019-9-9 23:52:56 | 显示全部楼层 |阅读模式
C语言中int的取值范围为:-2147483648 ~ 2147483647。超过了这个范围进行赋值,C源代码是无法通过编译的。下面给出简单的测试代码:# include int main(void){int i = 100000000000000000000000000000000000000000000;printf("%d\n", i); return 0;}可以看到编译器提示这个定义类型的赋值太大了,导致无法编译成功。扩展资料C/C++编程语言中,int表示整型变量,...
回复

使用道具 举报

千问 | 2019-9-9 23:52:56 | 显示全部楼层
从C语言的内部处理机制来说,int型数超出范围(溢出)被认为是一个正常现象,只会产生错误的计算结果或逻辑错误,而不会触发数据溢出的异常。因此,为了避免因为整数溢出而产生程序逻辑或计算错误,程序员必须自行检测可能出现的溢出或者确保不会出现数据溢出的情况。C语言对于int类型数据超出范围的处理,只有一个最简单的原则:截断处理,即超出int位长度范围的高字节被...
回复

使用道具 举报

千问 | 2019-9-9 23:52:56 | 显示全部楼层
int 型的范围是-32768到32767(但是注意了!这是以前书上写的,但现在已经将int型改为32位的了,也就是说其表示范围和增大了)而int型包含了 有无符号整型 即 int, unsigned int。有无符号短整型 unsigned short int,short int .有无符号长整型 long int,unsiged int.它们的表示范...
回复

使用道具 举报

千问 | 2019-9-9 23:52:56 | 显示全部楼层
如图所示的两种情况,会被截断,不会影响其它的变量:(将数转为2进制要高32位,后边的仍掉)...
回复

使用道具 举报

千问 | 2019-9-9 23:52:56 | 显示全部楼层
C 语言中 int 型的数,超出范围会是怎样的?会溢出,产生错误的结果。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行