A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© m狂崩的猫 中级黑马   /  2016-3-21 15:10  /  14844 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个还是八分之一个

11 个回复

倒序浏览
Banana_uSuOO 来自手机 中级黑马 2016-3-21 15:25:44
沙发
不用管他,应该是八分之一个来自: iPhone客户端
回复 使用道具 举报
官方没有明确的规定,理论上说 :
布尔值 只有2个值,true和false,在内存中,0是代表true,1是false,
也就是说从布尔值所占的内存是 八分之一(true和false只能存在一个,也就是说一个0或1就足够了)
但是,在内存中,最小的计量单位是字节,计算机不可能仅仅为了一个布尔型在单独划分一个新的计量单位
所以我感觉 布尔值应该是一字节
回复 使用道具 举报
说一个字节也对,八分之一字节也对,就看你是怎么认为了.个人认为是八分之一字节
回复 使用道具 举报
boolean类型,理论上占八分之一个字节,因为他只有两个值,一个true一个false,用一个0和一个1就可以表示了,
但是Java中并没有明确定义Boolean类型的大小.
一般就认为Boolean占用一个字节
回复 使用道具 举报 1 0
北极1989 发表于 2016-3-21 19:56
boolean类型,理论上占八分之一个字节,因为他只有两个值,一个true一个false,用一个0和一个1就可以表示了,
但 ...

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


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