科学计算机二进制算法,计算机是怎么理解二进制的?

计算机是怎么理解二进制的?

计算机的发明最初纯粹是为了计算数字, 让一个机器能够通过输入不同的数字, 进行加减乘除等. 首先要约定好机器能处理的数是什么样的, 即输入是什么样的, 才能去制造计算机. 二进制只是一种尝试, 十进制也有科学家尝试过, 但由于复杂程度较二进制要高被二进制淘汰了. 比如5个二进制数既是最大到十进制31. 数能表示了, 操作怎么表示呢? 同样, 因为需要进行的操作总是有限的, 比如用一个3位二进制数表示, 那么就相当于计算机最大可以有8种不同操作.

好了, 带着这种思路, 我们来组合一下, 一个16位输入的机器(这里先不讨论16位是怎么来的), 最大支持4种操作, 占了两位二进制. 带两个操作数, 那么操作数就是7位一个, 最大的数就是127. 我们暂时把这个16位二进制数叫做指令. 这样只需要把要指令放在输入端, 等待计算机计算, 再从输出端拿出结果就算完成了一次计算. 而这个指令的物理制作方法, 在最初阶段可能是一些带小孔的木板, 或一张纸, 到现在的硬盘! 这个过程就是存储介质的进化.

bVk8NH

计算是能计算了, 可有时候又变的特别麻烦. 假如我们想要加十个数, 依次加起来, 那么按这个方法只能先加前两个数, 把结果取出来, 再与第三个数相加, 依次类推, 考虑到指令再物理上的制作水平不高, 这样的结果就是计算一次, 花相对长的时间制作第二个指令, 再加一次, 这样的机器显然是不能让科学家满意的.

于是大家想能不能让一个操作的结果保存在计算机里面, 下一条指令就变成让那个结果与第二个数据相加, 这样后面的指令就可以不用等前一次的结果出来事先制作好. 后来大家管这个能存储的位置叫做寄存器. 有了寄存器, 后面的指令不一样的只是第二个数据. 但是增加的操作让操作位需要多一些, 16位指令的分配变成了这样.

bVk8PW

这时候计算机的利用效率就高了许多, 但是数据的位数(最高只有5位数据了)却不让人满意.

既然有寄存器, 何不多放几个寄存器, 数据全部放在寄存器里, 指令里面原来直接表示数据的位来指示第一跟第二个数据都在哪个寄存器里. 一个16位的寄存器假设有11位表示数据, 计算能力都是质的飞越啊! 问题是怎么表示把数据载入到寄存器里呢? 这时候指令的结构就变成了: 操作, 寄存器选择, 要装载的数据.

bVk8OQ

有了这个指令, 装载数据跟进行具体操作的指令就已经分开了, 而后者又变成了现在这样.

bVk8Pa

时间久了, 人们发现者仍然有改进的地方, 于是越来越多种类的操作, 各种各样的指令被发明出来, 后来有人称之为指令集架构(Instruction Set Architecture), 指令集一方面代表着设计计算机处理器的方法, 也代表着能在这种指令集上运行的二进制的规则, 这也就是为什么我们常说在x86上运行的程序想要在ARM上运行都需要重新编译.

等等, 似乎跑题了? 计算机到底是怎么理解一个16位指令哪个部分都代表什么? 操作是怎么进行的? 计算机或者说处理器的结构以及实现是怎么样的?

未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF 实现ScrollViewer的垂直偏移滚动跳转

问题:考虑屏幕大小,一般都是会在表单问卷的页面使用ScrollViewer。问卷中问题漏填漏选时,在提交时校验不过,需要滚动跳转至漏填漏选项。 页面如下: 每个选项使用StackPanel,并对复选框和单选的勾选事件进行…

限制 计算机中 某用户上网 win7,Win7旗舰版怎么限制孩子的上网时间?电脑限制孩子上网时间的方法...

Win7旗舰版怎么限制孩子的上网时间?我们在家里有孩子的时候非常害怕孩子沉迷与网络,不把心思放在学习上。所以会想方设法的限制孩子上网。那么我们怎么使用电脑的自带的功能限制孩子上网呢?下面小编就带着大家一起看一下吧!设置管…

论图计算

自从机械计算开始以来,图形概念就已经存在,并且在纯数学领域已经存在了数十年。 由于数据库的黄金时代,图形在软件工程中变得越来越流行。 图形数据库提供了一种持久化和处理图形数据的方法。 但是,图形数据库并不是存储和分析图形…

html 拼接onmouseout,HTML onmouseout事件用法及代码示例

将鼠标指针移出元素或其子元素时,将发生HTML DOM onmouseout事件。用法:在HTML中:在JavaScript中:object.onmouseout function(){myScript};在JavaScript中,使用addEventListener()方法:object.addEventListener(&quo…

7 selenium 模块

selenium 模块 一.简介 1.Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作。 2.自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全…

针对新手的Java EE7和Maven项目-第3部分-定义ejb服务和jpa实体模块

从前面的部分恢复 第1部分 第2部分 我们在第三部分继续介绍,我们已经有一个父pom,并且已经为我们的war模块定义了pom。 在我们的原始设置中,我们定义了我们的应用程序将包含一个ejb jar形式的服务jar。 这是我们的Enterprise Java Bean&…

计算机本地网络如何共享,本地网络共享怎么实现

本地网络共享可以满足多台电脑同时联网,台式电脑实现网络共享可以使用路由器,笔记本电脑事项网络共享需要使用无线路由器或者无线网卡。那么本地网络共享又是如何实现的呢,下面为大家详细介绍一下。通过路由器实现本地网络共享:第…

Git初始化配置以及配置github

1,配置用户名和邮箱(这里是我github中配置的用户名和邮箱),执行下面命令后,在C:\Users\yaosq盘下会出现一个全局文件.gitconfig. git config --global user.name "这里换上你的用户名" git config --global…

数据知识栈

并发不适合胆小者 我们都知道并发编程很难正确实现。 这就是为什么在执行线程任务之后要进行大量的设计和代码审查会议。 您永远不会将并发问题分配给经验不足的开发人员。 仔细分析问题空间,提出设计,并记录和审查解决方案。 这就是通常处理线程相关任…

Spring Boot:快速启动MVC

我打算一年多以前写一篇关于Spring Boot的文章。 最后,我有时间和灵感。 因此,准备10到15分钟的高质量Spring教程。 我将用Gradle和嵌入式Tomcat演示Spring Boot的基础知识。 我使用Intellij IDEA而不是Eclipse,但是对于那些习惯Eclipse的人来…

布里斯托大学计算机科学专业排名,2021年布里斯托大学世界及专业排名 多个领域位居全英前十!...

它既是红砖大学的成员,也是罗素大学集团成员,在这所学校里共培养出了13位诺贝尔奖得主,这所学校就是布里斯托大学,该校的83%的研究成果都达到了世界领先水平,因此,越来越多的学生去布里斯托大学留学&#x…

Spring启动时的Spring社交示例,或者我如何不再担心和喜欢自动配置

对于Spring Boot 1.1.0.RC1,添加了自动配置和Spring Social的启动程序pom,这意味着我不必为pom添加一百个依赖关系,并且将为我处理许多毫无意义的Spring配置。 让我们来看一个例子。 我将实现一个两页的Web应用程序。 一个将显示给定用户的T…

Djang之cookie和session

一 会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起&a…

ASP.NET技巧(收集)

1、有没有办法让JavaScript的注释在客户端不可见呢&#xff1f; 答案很简单&#xff0c;就是&#xff1a;JavaScript注释 服务器端注释&#xff01; 行注释写法&#xff1a; //<%-- 这里写行注释 --%> 块注释写法&#xff1a; /*<%-- 这里写注释语句块&a…

Windows堆栈区别[转]

堆和栈的区别 (转贴) 非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥! 堆和栈的区别一、预备知识—程序的内存分配一个由c/C编译的程序占用的内存分为以下几个部分1、栈区&#xff08;stack&#xff09;— 由编译器自动分配释放 &#xff0c;存放函数的参数值&…

Tomcat启用HTTPS协议配置过程

Article1较为简洁&#xff0c;Article2较为详细&#xff0c;测试可行。 Article1 概念简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试…

springboot配置idea 热部署

背景&#xff1a; 在开发中&#xff0c;当我们修改代码之后&#xff0c;每次都要重新启动&#xff0c;很是浪费时间&#xff0c;在springboot中就有一种热部署方式&#xff0c;可以实现想要修改不需要每次都重新启动&#xff0c;保存即可生效 用法&#xff1a; 一、maven 添加 …

10分钟看懂Docker和K8S

作者&#xff1a;鲜枣课堂链接&#xff1a;https://www.jianshu.com/p/f1f94c6968f5 2010年&#xff0c;几个搞IT的年轻人&#xff0c;在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说&#xff0c;是和LXC有关的容器技术。…

计算机专业论文关于天气预报的,关于天气预报论文范文写作 天气预报相关论文写作资料...

天气预报,本文是一篇关于天气预报论文范文&#xff0c;可作为相关选题参考,和写作参考文献。天气预报论文参考文献&#xff1a;每天吃过晚饭,严惠语都会准时打开电视,收看黑龙江电视台和云南电视台的天气预报节目.自从女儿考上云南大学,为了能攒够女儿下学期的费用,老公背起行李…

【快报】基于K2 BPM的新一代协同办公门户实践交流会

2014年2月28日&#xff0c;“基于BPM的新一代协同办公门户”用户实践交流活动在深圳金茂JW万豪酒店3楼Meet Room IV举办。本次会议由K2携手微软共同举办&#xff0c;邀请到的参会企业都是K2 的BPM老客户或对BPM新一代协同办公门户非常感兴趣的新朋友&#xff0c;他们有&#xf…