黑马程序员技术交流社区

标题: byte的范围。 [打印本页]

作者: 天方地圆    时间: 2014-3-19 18:37
标题: byte的范围。
本帖最后由 天方地圆 于 2014-3-20 17:24 编辑

byte的取值范围为什么是-128~127?还有int的取值范围,都是怎么得来的,?

作者: 上官睿鹏    时间: 2014-3-19 19:04
byte是基本数据类型,内存就给分配一个字节,一个字节占八位,所以是-128-127(它们二进制形式就是八位)。就是这么得来的~~~
作者: 青木郎    时间: 2014-3-19 19:14
按字节分配的,因为最高位是符号位,
byte占一个字节,一个字节8位 所谓范围是-128~127(-2^8~2^7-1)
int占四个字节,也就是三十二位,其范围是-2^31 ~2^31-1
作者: a569609054    时间: 2014-3-19 19:17
一个byte是1个字节,也就是8位。通过二级制算法 取得最大值是127,最小值是-128. 都是算出来的。

作者: just_nnnnx    时间: 2014-3-19 19:52
一个字节是8位,8位的取值范围就是那么多,一个int是4个字节,你自己可以算一算,锻炼一下
作者: 方青木    时间: 2014-3-19 19:59
byte类型的数据在内存中只占一个字节,即8位二进制位,而最高位是符号位,且用补码表示
所以,byte的取值范围就是 -2^7到2^7-1,即-128到127
同理
int类型的数据在内存中占四个字节的数据,即32位二进制位,而最高位为符号位,也是用补码表示
所以……
作者: 927233671    时间: 2014-3-19 22:21
首先byte是占一个字节的,它由8位二进制位组成。byte类型的二进制取值范围从00000000~11111111,你可以把它看成两段00000000(0)~1111111(127)和10000000(-128)~11111111(-1),两段加起来为-128~127.这样好理解一点。不要去考虑其他的负数的二进制表现形式什么的那样反而会搞糊了。
作者: Ranger    时间: 2014-3-20 20:49
是根据二进制数得来的,byte是由8位二进制数控制,而int由32位二进制数控制
作者: ﹊佑雨时杰↘    时间: 2014-4-8 17:54
byte 是一个字节 。  int  是 4个字节 啊  亲
作者: 曹冬明    时间: 2014-4-14 10:12
一个字节占八位,第一位是符号位也就是说,也就是说被正负等分,一人一半,因为中间有个0,所以下限是-128,上限是+127,一共正好有256个数,也就是2的8次方,我就是这样理解的!同样Int是4个字节32为,2的32次方是65536,将这个数除以2,不就是32768,因为还有个0,所以不就是-32768到+32767么
作者: 王卫兴    时间: 2014-4-16 14:35
byte是字节的意思,在计算机语言中一个字节有8位,每个位上面只可以存储0或1,最高位是符号位,0为正1为负。所以byte的范围是-2^7到2^7-1。同理int在java语言中占有4个字节,一共32位,最高位也是符号位,所以int的范围是-2^31-2^31-1,即-32768-32767。
作者: xiaowei    时间: 2014-5-8 11:36
byte 是一个字节 , int  是 4个字节,一个字节8位,127,128就是这么算出来的
作者: wanghe826    时间: 2014-5-8 15:29
首先,每一个类型在机器里面都有特定的大小,即占有几个字节,而一个字节是8位,byte是占2个字节,你自己再算一下就知道结果了
作者: 王成栋    时间: 2014-5-9 23:34
1byte是1个字节。一个字节是8位。所以1byte的范围就是-2的8次方到2的8次方-1




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