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范围啊
求好人告诉
谢谢。 展开
那为什么我写
short max=0x7fff;正确而
short min=0x8000;错误呢
0x8000不就是-2^15么 没有超出short范围啊
求好人告诉
谢谢。 展开
3个回答
2014-06-22
展开全部
这个是因为系统默认0x8000是int类型的,他是32位空间,因而就超过了最大的范围。
这样就可以了short t = (short)0x8000;
建议用下面的赋值语句:
short max=Short.MAX_VALUE;
short min=Short.MIN_VALUE;
这样就可以了short t = (short)0x8000;
建议用下面的赋值语句:
short max=Short.MAX_VALUE;
short min=Short.MIN_VALUE;
展开全部
不啊,你这个0x8000前面没加负号,这个就是个正数,所以就超了呀,你改成-0x8000才是-2^15
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-06-21
展开全部
0x8000是2^15,而-2^15是-0x7fff不谢
追问
0x8000 不是 1000 0000 0000 0000么 怎么会是正数
追答
1000 0000 0000 0000为什么不是正数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询