标题:一个INt型变量他的取值范围超过了应以什么格式输出
只看楼主
Jorbo
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-9-8
得分:0 

数据在内存中以二进制存放,如果你的系统 int 是两个字节的,那么溢出的数只有其低两个字节被存放到内存。

在输出时按是否最高位为1而分为负数和正数,然后按补码----原码转换得到的结果输出。

你的题目应该输出:2825 吧。我的机 int 是4个字节的,我试不了。


2004-09-17 10:14
gvtbs
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2004-9-6
得分:0 
以下是引用knocker在2004-09-16 20:01:29的发言:

说实话,你的几个贴的问题都是提得不清不楚的,先学会如何提问。

晕死了,看来高手没有在我还是到别的论坛看吧,连版主都是这么烂的

2004-09-17 21:45
mikewolf
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-7-3
得分:0 

int main(void) { int a,b;

a=652535; b= 652535%65536; printf("%d\n",a); /*2825*/ printf("%d",b); /*2825*/ }

2004-09-18 20:04
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
得分:0 
两个结果一样吗?

2004-09-19 10:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-5356-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.303546 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved