啊哈磊_编程从这里起步

标题: 关于int取值范围。~~~ [打印本页]

作者: 学习C语言    时间: 2012-10-5 11:19
标题: 关于int取值范围。~~~
在啊哈-C小学群一不小心看到的问题。嘻嘻。
某一位人这样写
int a,b,c,d,e,f,g;
a=5456545655462513545321335432123532135;
b=5685554565456554(我写不下去了,反正他是随便写的。)
c=........;
d=........;
e=........;
f=........;
g=a*b*c*d*e*f;
printf("%d\n",g);
sleep(5000);
}
上面的代码结果运行是-382657199。
关于这个,我认为上面的多位数,电脑不可能算出来的。
在这里说一下int的取值范围。
int的取值范围字节数有4个
字节数不知道大家懂不懂,就比如1 000这个属于2个字数节。
1 000 000相信大家知道,这是3个字数节。
int的取值范围:↓
-2 147 438 648到+2 147 438 648
这个int是有带符号的-和+是负和正的意思,带有符号。


作者: virfyf    时间: 2012-10-6 09:24
[mw_shl_code=c,true]#include <limits.h>
#include <stdio.h>
int main()
{
        printf("%d %d\n",INT_MIN,INT_MAX);//int
        printf("%d %d\n",SHRT_MIN,SHRT_MAX);//short
    sleep(5000);
        return 0;
}
[/mw_shl_code]
作者: 兰书梅    时间: 2012-10-11 14:44
+2 147 438 648
大飞一脚 是 :+2 147 438 647  
作者: ory00    时间: 2012-11-18 20:44
懂了这个
int的取值范围字节数有4个
字节数不知道大家懂不懂,就比如1 000这个属于2个字数节。
1 000 000相信大家知道,这是3个字数节。
不懂了
int的取值范围:↓
-2 147 438 648到+2 147 438 648
这个int是有带符号的-和+是负和正的意思,带有符号
作者: rosynirvana    时间: 2014-10-8 11:17
1000不是2个字节,而是最少用2个字节能放下
1000000也不是3个字节,而是用3个字节才能放下
占几个字节看的是类型,不是数字本身的大小

顺带一说一个 字节未必是8个二进制位,不过现代的计算机一般都是




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2