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

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

计算机的发明最初纯粹是为了计算数字, 让一个机器能够通过输入不同的数字, 进行加减乘除等. 首先要约定好机器能处理的数是什么样的, 即输入是什么样的, 才能去制造计算机. 二进制只是一种尝试, 十进制也有科学家尝试过, 但由于复杂程度较二进制要高被二进制淘汰了. 比如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,一经查实,立即删除!

相关文章

OpenCV人脸特效制作

https://blog.csdn.net/zxc024000/article/details/50456917 https://blog.csdn.net/huanghuangjin/article/details/81666134 DLibOpenCV 脸部跟踪张贴小物件(遮盖眼部或者眼睛变大) 所以首先需要人脸识别,然后再类似GAN之类的进行处理或生成 https://wysaid.org/9…

abp.event.on与abp.event.off使用

apb的全局事件 var eventName "app.createOrEditFieldModalSaved";var reloadPage function () { dt.ajax.reload();};abp.event.on(eventName, reloadPage); //弹窗关闭事件_modalManager.onClose(function () {//注销事件,要不然多次打开列表后&…

为JavaOne 2014做好准备!

保持那个想法! 是的……我希望我能在Java One 2014上做演讲-但我现在只值得在梦里做到这一点! 但是,没有什么阻止我遵循Java One并跟踪有关我最喜欢的主题的会话/对话。 我希望甲骨文能够像我们2013年版那样,像我们这样的凡人在网…

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

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

13 个应该记住的最不寻常的搜索引擎

13 个应该记住的最不寻常的搜索引擎 如果你通过Digg或其他社会化媒体网站,向世界传播,我会非常感激,您对此文的随手评论会让此文展示在更多人面前。谢谢 你已经天天使用一些常见的搜索引擎,象 Google,Msn,Y…

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

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

第八章(三)基于Listcheck适配器的访问控

denier适配器访问控制比较死板。Listchecker的适配器更加灵活。 定义handler: apiVersion: config.istio.io/v1alpha2 kind: listchecker metadata:name: chaos spec:overrides: ["v1","v3"] # 列表blacklist: true # 黑名单类型 定义t…

checkbox 最多选两项

<!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>久信臻氏</title></head><body><form action"index.php" method"post"> <div> &…

论图计算

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

注册了

第一天来 转载于:https://www.cnblogs.com/mayanshuang/archive/2008/07/26/1251934.html

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

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

Windows PowerShell Cookbook

Windows PowerShell Cookbook转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/12/29/1634652.html

7 selenium 模块

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

vue-resource

安装npm install vue-resource引入import VueResource from vue-resource;Vue.use(VueResource);使用get方法this.$http.get("http://localhost/test.php").then( function (res) { // 处理成功的结果 console.log(res.body); },function (res) { // 处理失败的结果 …

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

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

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

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

淘宝购物车效果

淘宝购物车效果 今天给大家带来的是淘宝购物车效果&#xff0c;写的不怎么好&#xff0c;请大家多多指教。 效果&#xff1a; 1.点击全选前的选择框&#xff0c;选择所有的选择框。 2.点击商品的加号或者减号可以改变商品的数量值&#xff0c;并且改变商品的小计和他的积分&…

Git初始化配置以及配置github

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

大学计算机专业高考听力,高考英语听力测试对考生听力策略反拨作用的研究

摘要&#xff1a;高考是我国高等院校招生的全国统一性考试,高考听力测试作为听力测试一部分主要测试高考考生的英语听力能力是否达到高校招生的选拔要求.在2011年,有933余万考生参加了高考,其中山东省参加高考的考生约59万人.作为一项全国性选拔考试,高考对我国的中学教育具有重…

网上找工作秘籍(3)

Do your New Years resolutions include finding a new job? The Internet is a great resource for job seekers. But far too many people dont use it effectively. 你今年的新年愿望中有找一份新工作吗&#xff1f;互联网是求职者可以利用的一大资源&#xff0c;但是很多人…