java 小问题 short的取值范围在-2^15到2^15-1 那为什么我写short max=0x7fff正确而

java小问题short的取值范围在-2^15到2^15-1那为什么我写shortmax=0x7fff;正确而shortmin=0x8000;错误呢0x8000不就是-2... java 小问题 short的取值范围在-2^15到2^15-1
那为什么我写
short max=0x7fff;正确而
short min=0x8000;错误呢
0x8000不就是-2^15么 没有超出short范围啊
求好人告诉
谢谢。
展开
 我来答
匿名用户
2014-06-22
展开全部
这个是因为系统默认0x8000是int类型的,他是32位空间,因而就超过了最大的范围。
这样就可以了short t = (short)0x8000;
建议用下面的赋值语句:
short max=Short.MAX_VALUE;
short min=Short.MIN_VALUE;
dark19861201
推荐于2017-11-03 · TA获得超过2153个赞
知道大有可为答主
回答量:2584
采纳率:79%
帮助的人:1799万
展开全部
不啊,你这个0x8000前面没加负号,这个就是个正数,所以就超了呀,你改成-0x8000才是-2^15
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-06-21
展开全部
0x8000是2^15,而-2^15是-0x7fff不谢
追问
0x8000 不是 1000 0000 0000 0000么 怎么会是正数
追答
1000 0000 0000 0000为什么不是正数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式