java中int类型数据的范围 正数我会计算,但是负数的值是如何得出的呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 定义一个byte类型的数字127,然后加上28,你试试得多少. 这个要看看java中int型的占多少字节 我记得Integer类有两个静态常量1.MAX_VALUE值为 2的31次方-1 的常量,它表示 int 类型能够表示的最大值。2.MIN_VALUE 值为 -2的31次方 的常量,它表示 int 类型能够表示的最小值。直接用就好. java的int类型相对于C的long类型,这个在jni.h头文件中有定义。java的int类型在c中表示为jint类型。 java中int是32位 --> 数值范围长度是2的32次方--> java中没有unsign数值的概念,因此正数和负数各占一半--> 负数:[-2的31次方, 0) 正数:[0, 2的31次方-1] 将0作为正数处理 用BigDe什么的 现在手边没有api 不好意思用工具用多了不会写了实在抱歉 答:负数的值是这样得出的:JAVA中int是4个字节,数0 = 00...0000(共32个0)数-1= 11...1111(共32个1)数-2= 11...1110(共31个1,最后一个是0)数-3= 11...1101数-4= 11...1100(共30个1,最后两个是0)这样排下去最后一个负数[最小]是-2的31次方=100..00(一个1,最后31个是0) 领会一下二进制补码表示法。更正一下楼上的问题,java并不规定int占多少个字节,只规定了能表示的范围,最大值和最小值。 Java中的int是32位的。那么int的范围是:-2^31 ~ (2^31 - 1) 11楼的够详细了的吧.你不是会算正数吗?4个字节,最高位是符号位,1用来表负数。剩下31个bit来表示数值,1000...00(31个0)~11111...11(32个1),不是2的31次方多个变化吗?每一个变化用来表示一个负数。至于每一种变化表示那个负数,那你还要学习一下原码、反码和补码的知识。 答:ZangXT兄弟,你不会是真的不知道,并且真的是这样认为“java并不规定int占多少个字节”的吧?或者:你错看成了这是一个C++的问题了吧。你有空还是认真看一看最权威的JLS(第三版)吧[4.2小节] Sorry,看过JLS,有点东西记混了。 大企鹅也出现这种情况,呵呵今天差点去看Inside JVM了 不对,应该是2147483647,这才是int最大值 求java学习资料 获得文件父目录名 在Linux上远程部署Java应用程序的问题 Swing 怎么样才能作出像XP窗体的风格??急求~~ JDBC Class.forName 用法的问题 关于String的replace函数 使用poi读取excel文件时碰到的问题 如何打包自己的类 求救windows文件路径问题 JawaBeginer发布新版本了,很像UltraEdit.带Key. 利用byte数组 显示gif图片时 内存无法加载图片 处在十字路口,望前辈指点
1.MAX_VALUE值为 2的31次方-1 的常量,它表示 int 类型能够表示的最大值。
2.MIN_VALUE
值为 -2的31次方 的常量,它表示 int 类型能够表示的最小值。
直接用就好.
java的int类型在c中表示为jint类型。
--> java中没有unsign数值的概念,因此正数和负数各占一半
--> 负数:[-2的31次方, 0)
正数:[0, 2的31次方-1] 将0作为正数处理
数0 = 00...0000(共32个0)
数-1= 11...1111(共32个1)
数-2= 11...1110(共31个1,最后一个是0)
数-3= 11...1101
数-4= 11...1100(共30个1,最后两个是0)
这样排下去
最后一个负数[最小]是-2的31次方=100..00(一个1,最后31个是0)
那么int的范围是:-2^31 ~ (2^31 - 1)
你有空还是认真看一看最权威的JLS(第三版)吧[4.2小节]