为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替?
请问为什么布尔类型(bool)中的True和False分别要用1和0来表示,这是否跟计算机系统或者硬件的识别有关?{:9_218:} 没有吧,就像英文大写是A对应小些a,算是规定吧。 本帖最后由 昨非 于 2020-8-28 10:54 编辑高级语言应该涉及不到硬件二进制编码
bool型数据本身就是从计算机二进制来的
涉及 数字电路知识啥的,我是不懂,也不用想这么多吧{:10_245:} 这是规定,python语言中bool类型是int类型的子类
issubclass(bool, int)# bool 是 int 子类
得到的结果是True yhhpf 发表于 2020-8-28 10:51
没有吧,就像英文大写是A对应小些a,算是规定吧。
就是想求解一哈{:9_227:} 昨非 发表于 2020-8-28 10:52
高级语言应该涉及不到硬件二进制编码
bool型数据本身就是从计算机二进制来的
涉及 数字电路知识啥的,我 ...
没有,在做小甲鱼的python课后作业,有一题的题目是这样的,所以过来请教一下各位鱼友。 sunrise085 发表于 2020-8-28 10:52
这是规定,python语言中bool类型是int类型的子类
得到的结果是True
嗯~好的,谢谢 学抓蟒蛇 发表于 2020-8-28 10:58
就是想求解一哈
行行,玩的6
那就送个最佳吧{:10_256:} 学抓蟒蛇 发表于 2020-8-28 11:00
嗯~好的,谢谢
再早的语言我也不懂了。不过在 C语言 开始,就已经开始有用 1 来表示真,0 来表示假了。 yhhpf 发表于 2020-8-28 11:13
行行,玩的6
那就送个最佳吧
这个并不是规定吧{:10_277:} 永恒的蓝色梦想 发表于 2020-8-28 11:14
这个并不是规定吧
啊,不是吗?那是为啥?{:10_257:} 永恒的蓝色梦想 发表于 2020-8-28 11:14
这个并不是规定吧
这不就是语言规则吗?python语言中bool是int的子类,这就是规定啊,然后True为1,False为0
>>> True==1
True
>>> True==2
False
>>> False==0
True
>>> False==0.0
True
>>> False==[]
False
>>> sunrise085 发表于 2020-8-28 12:17
这不就是语言规则吗?python语言中bool是int的子类,这就是规定啊,然后True为1,False为0
这么一说好像很有道理{:10_272:} 本帖最后由 admintest166 于 2020-8-29 00:33 编辑
数电和模电当中 高电平就是1 也就是true 低电平就是0 也就是false
这么说吧高电平(true)就会执行某些命令而低电平(false)则不执行 因为这跟二进制有关 二进制就是0和1
等你以后接触到底层的东西 就知道了的{:10_256:}
而且所有语言 1就是true 0就是false
页:
[1]