黑马程序员技术交流社区

标题: byte a=0b10000000;为什么会报错,说是int型 [打印本页]

作者: 霓裳独舞    时间: 2015-9-25 01:03
标题: byte a=0b10000000;为什么会报错,说是int型
如题上所述,有八位可以存储,为什么又会超了范围?这个数十进制是多少呢?
作者: polarfox17    时间: 2015-9-25 01:29
本帖最后由 polarfox17 于 2015-9-25 03:12 编辑

int类型是32个字节,byte是8个字节,也就是说,int类型中能表示的数字,在byte中不一定能表示,所以会报错说会有损
byte类型的范围是-128~+127,这个0b10000000应该是128已经超出byte范围了

作者: asdsy222    时间: 2015-9-25 08:31
。。。8位是指2进制的8位,不是十进制额
作者: 沙鹰    时间: 2015-9-25 09:12
byte中最大值是111 1111。你的那个是128,超出byte范围了
作者: 不隆卡    时间: 2015-9-25 09:36
越界了啊




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