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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

小黑黑

中级黑马

  • 黑马币:0

  • 帖子:47

  • 精华:0

© 小黑黑 中级黑马   /  2013-3-25 09:33  /  1566 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小黑黑 于 2013-3-26 07:49 编辑

我学到基本数据类型的时候,突然想知道boolean型的值是不是能转为二进制的值呢?
计算机中的所有数据不都是用二进制表示的吗?
比如,byte型的6,用二进制表示是00000110
那么,boolean的两个值true和false如何用二进制的形式表示呢?

评分

参与人数 1技术分 +2 收起 理由
陈丽莉 + 2 赞一个!

查看全部评分

9 个回复

倒序浏览
好像有个0代表false、1代表true把。这样就可以转二进制了

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
---------------java虚拟机规范------------------
虽然Java虚拟机定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在
Java虚拟机中没有任何供boolean值专用的字节码指令,在Java语言之中涉及到boolean
类型值的运算,在编译之后都使用Java虚拟机中的int数据类型来代替。
---------------java虚拟机规范------------------

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
我考虑下的,true和false都是由字符组成的从而成为一个字符串的,是不是可以看成是这些单个的字符的组合的了?字符是单个的,而字符串是单个的或是多个的字符所组成的,每个字符不是都是有对应的二进制的,然后每个单个的字符的二进制组合后不就是这个字符串的二进制的数的。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
在Oracle公司的虚拟机实现里,Java语言里面的boolean数组将会被编码成Java虚拟机的byte数
组,每个boolean元素占8位长度。
-----------------java虚拟机规范------------------------
回复 使用道具 举报
胡志超 发表于 2013-3-25 09:44
好像有个0代表false、1代表true把。这样就可以转二进制了

这个好像是c语言中的哦,不过还是谢谢你呀:P
回复 使用道具 举报
本帖最后由 小黑黑 于 2013-3-25 13:07 编辑
系统管理员 发表于 2013-3-25 10:00
在Oracle公司的虚拟机实现里,Java语言里面的boolean数组将会被编码成Java虚拟机的byte数
组,每个boolean ...

哦,原来是这样子,谢谢你
但是如果这样的话,那么布尔型值不就能和这些类型值相互转化了吗?可是在老师讲的时候,是不能和其他基本类型值互换的啊,还是有些不明白的。
回复 使用道具 举报
Just_Only 发表于 2013-3-25 09:57
我考虑下的,true和false都是由字符组成的从而成为一个字符串的,是不是可以看成是这些单个的字符的组合的 ...

可能就像楼上说的吧,是将这种类型的值通过某种方式编入了虚拟中吧。
回复 使用道具 举报
小黑黑 发表于 2013-3-25 13:05
可能就像楼上说的吧,是将这种类型的值通过某种方式编入了虚拟中吧。

我也是想想的,没有验证的,毕竟boolean的值不能改变的,也是不能用字符串的形式表示的,也不能和其他的类型相互转换的。
回复 使用道具 举报
这是sun公司给的定义
boolean This data type represents one bit of information, but its "size" isn't something that's precisely defined.
这个数据类型代表一个比特的信息,但它的“大小”不是精确定义的东西.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马