当前位置: 首页 > news >正文

语言的布尔类型

布尔是一位英国数学家,他很好地融合了逻辑运算和数学的关系。为了纪念他,用”布尔”表示逻辑的”真”和”假”。布尔类型最早是Algol 60提出。

  • 早期面向过程的编程语言用整数表达布尔,一般为0为False, 非0为True,比如C/C++.
    • 为了表达接逻辑的真假,一般用宏来指代。c99引入_Bool, 看到C代码中用Bool或bool类型一般是宏定义。C/C++用整数代表真假很简单直接,只要数值为0就是假,不为0就是真,不管是指针还是什么结构。
  • 随着编程语言的抽象加强,编程语言将bool当做数据类型,尽可能不允许它和数值直接运算。Java/C#不能用整形数值作为逻辑表达式判断真假,为表达更自然。
    • C++随内置bool类型,和C/Python一样,可以用整形变量作为逻辑判断。
    • Ada/Ruby等编程语言不能用整形变量作为逻辑判断。
    • Java的布尔关键字是boolean而非bool.
  • Ruby比较不一样,0代表真,只有false和nil为假。
  • Python大小为0的容器也是假,字符串””也为假。

优化的”布尔”

比特Bit是表达布尔类型的最小单位,尽管如此,计算机大部分用字节保存布尔类型,为了方便简单。一些编程语言为了优化存储空间,用比特保存布尔,比如C++的bitset.


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!


http://www.mrgr.cn/news/27240.html

相关文章:

  • leetcode 难度【简单模式】标签【数据库】题型整理大全
  • OpenCV-Python笔记(上)
  • 中间件之RocketMQ
  • Python Logging 限制文件大小
  • 2024年汉字小达人区级自由报名备考冲刺:往年真题练一练
  • [数据集][目标检测]疟疾恶性疟原虫物种目标检测数据集VOC+YOLO格式948张1类别
  • 【洛谷】P2880 [USACO07JAN] Balanced Lineup G 的题解
  • C++学习笔记----7、使用类与对象获得高性能(一)---- 书写类(3)
  • JVM 调优篇7 调优案例1-堆空间的优化解决
  • 打印自身的程序
  • 光伏选址和设计离不开气象分析!
  • CustomerbasicController
  • 【视觉中国-注册安全分析报告-无验证方式导致安全隐患】
  • 面试宝典 | 关于面试/谈Offer/程序员职场生涯大全!
  • StarRocks实时分析数据库的基础与应用
  • <<编码>>第 12 章 二进制加法器--二进制加法器 示例电路
  • 数据库索引底层数据结构之B+树MySQL中的页索引分类【纯理论干货,面试必备】
  • AI学习指南深度学习篇-RMSprop简介
  • 控制Kubernetes滚动更新的2个关键参数
  • JDBC初相识