黑马程序员技术交流社区

标题: 布尔类型到底占几个字节呢 [打印本页]

作者: m狂崩的猫    时间: 2016-3-21 15:10
标题: 布尔类型到底占几个字节呢
一个还是八分之一个
作者: Banana_uSuOO    时间: 2016-3-21 15:25
不用管他,应该是八分之一个
作者: 593711029    时间: 2016-3-21 15:58
官方没有明确的规定,理论上说 :
布尔值 只有2个值,true和false,在内存中,0是代表true,1是false,
也就是说从布尔值所占的内存是 八分之一(true和false只能存在一个,也就是说一个0或1就足够了)
但是,在内存中,最小的计量单位是字节,计算机不可能仅仅为了一个布尔型在单独划分一个新的计量单位
所以我感觉 布尔值应该是一字节

作者: q6619866    时间: 2016-3-21 16:16
说一个字节也对,八分之一字节也对,就看你是怎么认为了.个人认为是八分之一字节
作者: 北极1989    时间: 2016-3-21 19:56
boolean类型,理论上占八分之一个字节,因为他只有两个值,一个true一个false,用一个0和一个1就可以表示了,
但是Java中并没有明确定义Boolean类型的大小.
一般就认为Boolean占用一个字节
作者: 向北_    时间: 2016-3-21 19:58
北极1989 发表于 2016-3-21 19:56
boolean类型,理论上占八分之一个字节,因为他只有两个值,一个true一个false,用一个0和一个1就可以表示了,
但 ...

正解。。。。。
作者: 604840337    时间: 2016-3-21 22:09
boolean 只有只有一个开关 而一个字节由8个开关组成  所以占八分之一个字节 但没有明确给出 不用记
作者: zxydeh    时间: 2016-3-21 22:12
理论上八分之一,但是Java没有规定
作者: huangkai521    时间: 2016-3-21 22:36
JAVA规范并没有强制指定boolean类型的变量所占用的内存空间。虽然Boolean类型的变量或值只要1位即可保存,但由于大部分计算机在分配内存允许分配的最小值内存单元是字节,因此bit大部分时候实际上占用8位。
作者: 452296824    时间: 2016-3-21 22:46


布尔类型:布尔数据类型只有两个可能的值:真和假。使用此数据类型为跟踪真/假条件的简单标记。这种数据类型就表示这一点信息,但是它的“大小”并不是精确定义的。boolean类型没有给出精确的定义,《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。这其实是运算效率和存储空间之间的博弈,两者都非常的重要。
作者: zxw    时间: 2016-3-21 22:53
一个字节
作者: as9600    时间: 2016-3-21 23:00
没说,但是要算还是八分之一一个开关就可以表示




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