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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我能学编程吗 中级黑马   /  2013-11-17 01:57  /  1370 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int x = Integer.parseInt("11111111111111111111111111111111", 2);
// 里面是32个1,int型是32位的,没错,这个值应该是-1的二进制刚好,为什么报错呢?

4 个回复

倒序浏览
Integer.parseInt() 是把字符串按格式转换成10进制的整形,但是32个1的最高位 就是最左边的位是符号位, Integer.parseInt是不支持鉴定符号位的 如果想得到-1 就直接写-1就可以了  其他进制也是

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
其实这些东西自己经常去试试去练练,分析一下,尝试着去改改,就能知道原因
回复 使用道具 举报
楼上回答的很正确。。。MAX_VALUE值为 2^31-1 的常量,它表示 int 类型能够表示的最大值。
回复 使用道具 举报
帖子已分类,若仍有疑惑,可重新提问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马