1845年,英国一位名不见经传的数学家乔治·布尔在礼拜时心血来潮,认为哲学问题可以用数学来表示。他将自己的想法编成书,即《逻辑的数学分析》和《思维规律的研究》,详细阐述了如何将逻辑问题转换成数学公式。

布尔代数中只有两个值:1和0;三种运算:逻辑加、逻辑乘和逻辑非。这里的1和0并不是数字意义上的1和0,而是一个事物的两种矛盾状态。比如一个人,活着就是1,死了就是0。

虽然乔治·布尔的想法很有创新意义,但在当时并不受重视,甚至一度被认为是伪科学。直到乔治·布尔去世多年后,另一位计算机先驱人物,密码学的奠基人香农发现了这份被世人遗忘的宝藏。1938年,香农在《继电器与开关电路的符号分析》中,将布尔代数与开关电路联系起来,凭借该文章,年仅22岁的香农成功取得了麻省理工电气工程硕士学位。

人们可以依靠继电器构成逻辑门电路,从而逻辑上的运算结果:

与门:当两个输入端 A、 B同时为“1”时, 输出端 C 才为“1” , 否则为“0”;

或门:当两个输入端 A、 B 中, 只要至少有一个输入端为“1”时, 输出 端 C 就为“1

非”门:输出状态总和输入状态相反。

从这三种基本的门电路,可以构成与非,异或等其他门电路,它们的符号和结构如下图所示:

有了门电路,人类制造出了第一款电子管计算机。在设计之初,科学家们还是沿用了人类的思维采用了十进制,用十个真空管代表一位上的0~9,看起来是很方便,但一个真空管对应一位数实在是太浪费了,计算机的体积也非常大。此时另一位不世出的天才科学家又站了出来,他就是被誉为“现代计算机之父”的冯诺依曼。

冯诺依曼提出将CPU改为了二进制,二进制的好处在于它刚好与高低电平相对应,他规定1代表高电平,0代表低电平;除此之外,二进制还有一个优势就是精度够高,举个例子,0~5V分成10份,电压每变化0.5V就代表十进制0~9中的一个值,当时电子元件的远不如现在这般精密,一旦出现误判后果是非常严重的。得益于这两点,二进制的设计一直被沿用至今。

布尔运算,二进制和门电路相关推荐

  1. Java程序设计(Java9版):第0章 绪论(Introduction)

    第0章 绪论(Introduction) 千里之行始于足下. --<道德经> Man is still the most extraordinary computer of all. - ...

  2. Spring Boot (四)模板引擎Thymeleaf集成

    一.Thymeleaf介绍 Thymeleaf是一种Java XML / XHTML / HTML5模板引擎,可以在Web和非Web环境中使用.它更适合在基于MVC的Web应用程序的视图层提供XHTM ...

  3. Spring Boot 最佳实践(四)模板引擎Thymeleaf集成

    ## 一.Thymeleaf介绍 Thymeleaf是一种Java XML / XHTML / HTML5模板引擎,可以在Web和非Web环境中使用.它更适合在基于MVC的Web应用程序的视图层提供X ...

  4. 1.计算机发展阶段 计算机发展历史 机械式计算机 机电式计算机 电子计算机 逻辑电路与计算机 二极管 电子管 晶体管 硅 门电路 计算机 电磁学计算机二进制...

    引言 任何事物的创造发明都来源于需求和欲望 而科学技术的发展则推动实现了目标 正是因为人类对于计算能力孜孜不倦的追求,才创造了如今规模的计算机. 计算机,字如其名,用于计算的机器.这就是最初计算机的发 ...

  5. 计算机二进制运算符,二进制布尔运算

    二进制布尔运算是对二进制数进行布尔运算的一种运算.二进制数的布尔运算有"与"."或"."非"和"异或"4种,二进制布尔运 ...

  6. 二进制逻辑运算和基本门电路

    目录 基本门电路很重要,做内存扩展片选译码的时候会常用 一:逻辑乘(逻辑与)按位求"与" 有零出零     and   & 二:逻辑或(逻辑加)  有1出1     OR  ...

  7. 【数电】(二) 基本逻辑运算与逻辑门电路

    发现数字电路之美,领悟0 1 之意 本节目录: 数字集成电路 逻辑门 什么是逻辑运算 与(&)运算 或(|)运算 非(~)运算 异或(^)运算 与非运算 或非运算 异或运算 同或运算 异或非 ...

  8. 计算机系统要素 - 布尔逻辑/布尔运算构建ALU

    1. 布尔门 布尔门是对布尔函数的物理实现,简单的布尔门相互连接可以实现复杂芯片的功能 1.1 布尔代数/布尔函数 布尔代数处理布尔型(二进制型)数值 布尔函数是指输入输出数值均为布尔型数值的函数 计 ...

  9. 四位先行进位电路逻辑表达式_计算机硬件基础:二进制半加器、全加器与加法电路...

    计算机的算术运算和逻辑运算都可以转化为加法运算,所以如何构造一个加法器是计算说明理论的基础. 1 布尔代数 乔治·布尔(George Boole,1815.11.2-1864)在1854年出版了< ...

最新文章

  1. #Ruby# Introspect (1)
  2. ”计算机操作系统“学习笔记1
  3. Binder相关面试总结(一):为什么Android要采用Binder作为IPC机制?
  4. 创建型模式-工厂模式
  5. CentOS No manual entry for man 没有 xx 的手册页条目
  6. boost::sort模块实现使用最坏情况分布进行扩展排序的排序示例
  7. javase(Properties集合及学生对象信息录入文本中案例)
  8. 【LeetCode笔记】543. 二叉树的直径(Java、dfs、二叉树)
  9. mysql multi主从复制_mysqld_multi方式配置Mysql数据库主从复制
  10. 内部排序算法系列---快速排序
  11. Odoo10参考系列--Odoo指导方针
  12. 做外贸出口,要想快速开发客户,快速赚大钱
  13. 【数字全排列】LeetCode 31. Next Permutation
  14. java设计模式-Observe
  15. CentOS 7.4 上如何安装 tomcat 9
  16. UCanCode Visio 2022发布--专业--免费-绿色
  17. 医院信息化集成平台建设
  18. 用Acrobat pro DC 自动生成pdf目录——知网硕博论文为例(附带如何下载只有caj的pdf)
  19. 火爆社区的开源数据可视化工具 datart 新用户体验教程
  20. np.zeros()生成3维

热门文章

  1. 【工程项目经验】之软链接跟硬链接
  2. android开发监听媒体播放器,Android开发之媒体播放工具类完整示例
  3. matlab二进制操作,[转载]Matlab二进制类型数据相关操作
  4. C++自学22:复制内存(memcpy)/设置内存(memset)
  5. 2021高考理综各科成绩查询,2021理综分数怎么分配 各科目是多少分
  6. IIS无法启动——郁闷的KB939373补丁
  7. 新手安装Ubuntu操作系统
  8. ios app被自己从应用商店下架后可以再恢復上架吗
  9. 关于c:if没有c:else解决方案
  10. 修改Visual Studio中“添加新项”时默认添加的命名空间