热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

二进制与计算机

二进制与计算机事物的多少或者顺序,我们可以用一种称为“数”的符号来表示。事物的数量是无穷的,我们却不可能创造无数个符号。为了解决这个难题,人们创造了进位制(又叫做位值制),这样就可

二进制与计算机事物的多少或者顺序,我们可以用一种称为“数”的符号来表示。事物的数量是无穷的,我们却不可能创造无数个符号。为了解决这个难题,人们创造了进位制(又叫做位值制),这样就可以用几个有限的符号,来表达无穷的数量了。

进位制是人类计数史上最伟大的创造之一。现在国际通用的主要进位制有十进制、二进制、二十进制和六十进制。其中的二进制是计算机通用的进位制。

八卦:最早提出的二进制思想

八卦是中国道家文化的深奥概念,是一套用三组阴阳组成的形而上的哲学符号。其深邃的哲理解释自然、社会现象。

根据史料记载,八卦的形成源于河图和洛书。是三皇五帝之首的伏羲所发明,伏羲氏在天水卦台山始画八卦,一画开天。八卦表示事物自身变化的阴阳系统,用“一”代表阳,用“- -”代表阴,用这两种符号,按照大自然的阴阳变化平行组合,组成八种不同形式,叫做八卦。八卦其实是最早的文字表述符号。

它在中国文化中与“阴阳五行”一样用来推演世界空间时间各类事物关系的工具。每一卦形代表一定的事物。乾代表天,坤代表地,巽(xùn)代表风,震代表雷,坎代表水,离代表火,艮(gèn)代表山,兑代表泽。八卦就像八只无限无形的大口袋,把宇宙中万事万物都装进去了,八卦互相搭配又变成六十四卦,用来象征各种自然现象和人事现象,基于当今社会人事物繁多;八卦在中医里指围绕掌心周围八个部位的总称。八卦代表易学文化,渗透在东亚文化的各个领域。

《二进制与计算机》

二进制由1和0排列而成,与十进制一样,它也能表示任何整数。如若把阳爻当作“1”,把阴爻当作“0”,八卦则可与3位二进制相对应,而六十四卦则可与6位二进制相对应。

1679年,德国哲学家、数学家莱布尼茨写了一篇《二进制算术》,对二进制及其运算首次给出了比较完整的描述。后来,他拜访一位曾经到过中国的欧洲传教士,了解了中国的周易八卦,他对其与二进制数的相似之处极为惊叹。八卦是利用符号的二元形态来表示事物,这一点与二进制颇为相同,因此说,八卦是古代中国人提出的二进制思想。

二进制是为计算机而发明的

1678年,德国著名数学家布莱尼茨发明了计算机,为了满足计算机的需要,他引入了二进制。二进制是最为简单的进位制,仅有1和0两个基本符号,运用二进制,逢2进1,与其他进位制相比较,同样一个数,二进制位数比较多。例如,十进制的2对应二进制的10;十进制的4对应二进制的100;十进制的5对应二进制的101;十进制的10对应二进制的1010;十进制的37对应二进制的100101等等。

用二进制表示的数字,虽然位数比较多,看起来还不够直观,但计算时却非常简单,其加法和乘法公式分别仅有4条,而十进制中相应的公式则有100多条。二进制的加法公式为:

1+1=10, 1+0=1, 0+1= 1,0+0= 0;乘法公式为1×1=1,0x0=0,0x1=0,1×0=0。

从以上的介绍可以看出,二进制的符号较少,运算较简单,所以莱布尼茨在自己发明的计算机上就采用了二进制。现在的计算机上依然采用二进制,除了上述原因,另外一种原因是,在计算机上,两种截然相反状态的现象是大量存在的,比如电路的通电与断电,电容器的充电与放电等,这些均可以用二进制的两个符号1和0 来表示。例如计算机电路的接通用1表示,断开用0表示。

《二进制与计算机》


推荐阅读
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • 题库来源:安全生产模拟考试一点通公众号小程序G3锅炉水处理报名考试是安全生产模拟考试一点通生成的,G3锅炉水处理证模拟考试题库是根据G3锅炉水处理最新 ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • 本文介绍如何在 Unity 的 XML 配置文件中,将参数传递给自定义生命周期管理器的构造函数。我们将详细探讨 CustomLifetimeManager 类的实现及其配置方法。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细探讨了Java中StringBuffer类在不同情况下的扩容规则,包括空参构造、带初始字符串和指定初始容量的构造方法。通过实例代码和理论分析,帮助读者更好地理解StringBuffer的内部工作原理。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 深入了解 Windows 窗体中的 SplitContainer 控件
    SplitContainer 控件是 Windows 窗体中的一种复合控件,由两个可调整大小的面板和一个可移动的拆分条组成。本文将详细介绍其功能、属性以及如何通过编程方式创建复杂的用户界面。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文探讨了在Linux系统上使用Docker时,通过volume将主机上的HTML5文件挂载到容器内部指定目录时遇到的403错误,并提供了解决方案和详细的操作步骤。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
author-avatar
玉米的跟屁虫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有