黑马程序员技术交流社区

标题: 解析二进制问题 [打印本页]

作者: 我能学编程吗    时间: 2013-11-17 01:57
标题: 解析二进制问题
int x = Integer.parseInt("11111111111111111111111111111111", 2);
// 里面是32个1,int型是32位的,没错,这个值应该是-1的二进制刚好,为什么报错呢?

作者: RuntimeError!    时间: 2013-11-17 02:08
Integer.parseInt() 是把字符串按格式转换成10进制的整形,但是32个1的最高位 就是最左边的位是符号位, Integer.parseInt是不支持鉴定符号位的 如果想得到-1 就直接写-1就可以了  其他进制也是
作者: RuntimeError!    时间: 2013-11-17 03:01
其实这些东西自己经常去试试去练练,分析一下,尝试着去改改,就能知道原因
作者: hubby    时间: 2013-11-17 08:09
楼上回答的很正确。。。MAX_VALUE值为 2^31-1 的常量,它表示 int 类型能够表示的最大值。
作者: 黄炳期    时间: 2013-11-17 09:45
帖子已分类,若仍有疑惑,可重新提问




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2