鱼C论坛

 找回密码
 立即注册
查看: 4664|回复: 13

[已解决]为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替?

[复制链接]
发表于 2020-8-28 10:49:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问为什么布尔类型(bool)中的True和False分别要用1和0来表示,这是否跟计算机系统或者硬件的识别有关?
最佳答案
2020-8-28 10:52:07
本帖最后由 昨非 于 2020-8-28 10:54 编辑

高级语言应该涉及不到硬件二进制编码
bool型数据本身就是从计算机二进制来的
涉及 数字电路知识啥的,我是不懂,也不用想这么多吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-28 10:51:09 | 显示全部楼层
没有吧,就像英文大写是A对应小些a,算是规定吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 10:52:07 | 显示全部楼层    本楼为最佳答案   
本帖最后由 昨非 于 2020-8-28 10:54 编辑

高级语言应该涉及不到硬件二进制编码
bool型数据本身就是从计算机二进制来的
涉及 数字电路知识啥的,我是不懂,也不用想这么多吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 10:52:34 | 显示全部楼层
这是规定,python语言中bool类型是int类型的子类
issubclass(bool, int)  # bool 是 int 子类
得到的结果是True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-28 10:58:10 | 显示全部楼层
yhhpf 发表于 2020-8-28 10:51
没有吧,就像英文大写是A对应小些a,算是规定吧。

就是想求解一哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-28 10:59:24 | 显示全部楼层
昨非 发表于 2020-8-28 10:52
高级语言应该涉及不到硬件二进制编码
bool型数据本身就是从计算机二进制来的
涉及 数字电路知识啥的,我 ...

没有,在做小甲鱼的python课后作业,有一题的题目是这样的,所以过来请教一下各位鱼友。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-28 11:00:05 | 显示全部楼层
sunrise085 发表于 2020-8-28 10:52
这是规定,python语言中bool类型是int类型的子类

得到的结果是True

嗯~好的,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 11:13:57 | 显示全部楼层

行行,玩的6
那就送个最佳吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 11:14:14 | 显示全部楼层

再早的语言我也不懂了。不过在 C语言 开始,就已经开始有用 1 来表示真,0 来表示假了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 11:14:53 | 显示全部楼层
yhhpf 发表于 2020-8-28 11:13
行行,玩的6
那就送个最佳吧

这个并不是规定吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 11:28:26 | 显示全部楼层

啊,不是吗?那是为啥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 12:17:28 | 显示全部楼层

这不就是语言规则吗?python语言中bool是int的子类,这就是规定啊,然后True为1,False为0
>>> True==1
True
>>> True==2
False
>>> False==0
True
>>> False==0.0
True
>>> False==[]
False
>>> 

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
永恒的蓝色梦想 + 5 + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 12:18:47 | 显示全部楼层
sunrise085 发表于 2020-8-28 12:17
这不就是语言规则吗?python语言中bool是int的子类,这就是规定啊,然后True为1,False为0

这么一说好像很有道理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-29 00:30:25 | 显示全部楼层
本帖最后由 admintest166 于 2020-8-29 00:33 编辑

数电和模电当中 高电平就是1 也就是true 低电平就是0 也就是false   
这么说吧  高电平(true)就会执行某些命令  而低电平(false)则不执行   因为这跟二进制有关 二进制就是0和1

等你以后接触到底层的东西 就知道了的

而且所有语言 1就是true 0就是false
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 03:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表