A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄方 中级黑马   /  2012-3-5 13:27  /  2864 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我想知道byte  int  long  等等基本数据类型能表示数的范围是多少呀?是一个一个的记的吗?我想应该有个公式之类的吧。搞了好半天没搞出来,坐等解析啦

8 个回复

倒序浏览
byte:-2的7次方~(2的7次方-1)
short:-2的15次方~(2的15次方-1)
int:-2的31次方~(2的31次方-1)
long:-2的63次方~(2的63次方-1)
规律应该就是你记住byte,剩下的次方数依次*2+1。

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
楼上正解
回复 使用道具 举报
因为计算级内部是2进制运算,byte是8个二进制,去点符号位就是7个二进制,所以是-2的7次方到2的其次方减1,而int是32位,去掉符号位是31位,所以原理和上面相同
回复 使用道具 举报
不用记得 当然记得做好 想 int byte long float 和 double 这样的基本类型都对应的有 相应的包装类型 都在 java.lang语言包中,他们基本上都提供  MAX_VALUE 和MIN_VVLUE 静态字段,可以通过他们 获得 他们的最大值,最大值。如果是是整形的 int、或long ,MAX_VALUE 加上 1 就是最小值。 浮点型的 会复杂一些,浮点型的Min_Value 提供的是 该类型可以容纳的最小的正数 。JAVA 中没有对溢出检查溢出,这个是有危险的 这也是,为什么MAX_VALUE+1 可以得到最小值。因此,在所大数值运算的时候 要特别注意,最好检查一下,不过 JAVA也提供了BigInteger ,还有一个好像 叫BigDecimal(具体记不清了)可以实现任何大小数值的计算。
回复 使用道具 举报
都是以二进制形式存在于计算机中的,byte型在内存中占一个八位,short型是两个八位,int型是四个八位,long是八个八位,减去符号位,就算出来了
回复 使用道具 举报
唐兴旺 发表于 2012-3-5 13:39
byte:-2的7次方~(2的7次方-1)
short:-2的15次方~(2的15次方-1)
int:-2的31次方~(2的31次方-1)

嗯嗯,谢谢!我明白了!
回复 使用道具 举报
学习了
回复 使用道具 举报
问题不错,多谢指教学习了。
不过,我了解容量小的类型自动转换成容量大的类型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马