黑马程序员技术交流社区

标题: byte,short,int,long,char取值范围的问题 [打印本页]

作者: NUMONE    时间: 2015-10-22 13:48
标题: byte,short,int,long,char取值范围的问题
byte  1个字节,8位。取值是-127~+128。也就是-2^7~+2^7-1。最高位是有个符号位吗?什么情况下用byte呢?感觉不常用呢啊?
char 占2个字节,16位,为什么要分配2个字节呢?一个字节不够吗?char就没有负数了,char ch=97  那么是a,如果char ch=-97会怎么样呢?

作者: sharplance    时间: 2015-10-22 15:05
本帖最后由 sharplance 于 2015-10-22 15:37 编辑

byte 类型的最高位是符号位,为 0  时是整数,1 时是负数,整型包含有符号和无符号整型,无符号整型是非负数,最高位不用做符号位,因此正数的范围要大一些;我印象中字符串的方法中有与 byte 数组相关的;汉字要用到两个字节;我刚刚在 Eclipse 里试了 char ch=-97,直接报错,提示无法转换。

作者: panpanpan138    时间: 2015-10-22 20:13
char的取值范围是0-2^16次,没有负数。




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