| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 26951 人关注过本帖
标题:int的取值范围是什么意思?
只看楼主 加入收藏
jsjswban
Rank: 2
等 级:论坛游民
帖 子:26
专家分:59
注 册:2009-8-1
收藏
得分:0 
就相当于我说你是人 ·你只是一个人·
2009-08-02 21:53
wywy703
Rank: 2
等 级:论坛游民
帖 子:8
专家分:27
注 册:2009-8-3
收藏
得分:0 
不同的机器int表示的位数不一样,那16位来说,如果定义一个变量为int类型,当变量为负时,在最高位为1,该变量能取到的最小值为10000000000000B,该值就是-32768,当为正时,最大值为:0111111111111111,该值为32767。
2009-08-03 18:01
葡萄树
Rank: 2
等 级:论坛游民
帖 子:23
专家分:64
注 册:2009-8-3
收藏
得分:0 
int的取值范围-32768~32767到底是什么意思

定义一个int的变量,占用两个字节。
1byte = 8bit
每个bit代表一个0或者一个1
那么2byte就有16个0或者1
0000 0000 0000 0000
0000 0000 0000 0001
…………………………
…………………………
1111 1111 1111 1110
1111 1111 1111 1111
按照排列组合,一共就有2的16次方个不同的排列方法,
2的16次方=65536
然后一平均,给负数32768这么多个吧。
然后给正数32768这么多个吧,后来就发现了问题,怎么掉了个0?
于是就是-32768——0——32767之间了。

这样可以理解么?
2009-08-04 12:34
wdeast
Rank: 2
等 级:论坛游民
帖 子:14
专家分:74
注 册:2009-7-13
收藏
得分:10 
一般情况下 int 定义的是一个“字”,也就是 2 个“字节”的存储空间。
表示为 16 位二进制整数,
-32768(10进制)==  1000000000000000  (2进制)
32767(10进制) ==  0111111111111111 (2进制)

最高位是符号位:1 为负 ,0 为正。

你再去看一下计算机中“数制”的东东吧,这样就明白了。
2009-08-04 16:25
rs369007
Rank: 2
等 级:论坛游民
帖 子:30
专家分:11
注 册:2009-2-25
收藏
得分:0 
int 占16位(一般的,有些是32位)首位为符号位,剩下15位 值在 (-2^15——2^15-1) 计算机内部采用补码表示具体的数据,会增加数的下界。
2009-08-04 22:53
rs369007
Rank: 2
等 级:论坛游民
帖 子:30
专家分:11
注 册:2009-2-25
收藏
得分:0 
int 占16位(一般的,有些是32位)首位为符号位,剩下15位 值在 (-2^15——2^15-1) 计算机内部采用补码表示具体的数据,会增加数的下界。
2009-08-04 22:54
陨落
Rank: 2
等 级:论坛游民
帖 子:36
专家分:16
注 册:2009-6-27
收藏
得分:0 
回复 13楼 葡萄树

你说的很好啊~
2009-08-06 19:34
xiaoyuer110
Rank: 2
等 级:论坛游民
帖 子:37
专家分:17
注 册:2009-7-29
收藏
得分:0 
  呵呵!像这种题你应该朝下面看下去!例如!long float 这些你都应该提问出来!不然又不明白了!
      

除学者!不是败给程序不懂!而是编的时候不够心细!
2009-08-06 20:03
无名菜鸟
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-4-12
收藏
得分:0 
还是在论坛上逛能找到些有用的东西,老师讲的太枯燥了
2010-04-12 15:04
快速回复:int的取值范围是什么意思?
数据加载中...
 
   



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

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