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

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

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

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

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

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

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

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

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

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

未完待续

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

  1. 计算机大赛算法,计算机经典算法——锦标赛排序算法

    关键词:二叉树 生活中的淘汰锦标赛:在单淘汰的锦标赛中,选手们两两比赛,胜者晋级,败者被淘汰.比如世界乒乓球锦标赛或者大满贯网球赛就是这么进行的. 这样一来,就可以把比赛的赛程和结果对应成一个二叉树. ...

  2. plc里的二进制 用计算机,如何理解二进制和十六进制(电工入门PLC知识普及)...

    如何理解二进制和十六进制(电工入门PLC知识普及)三菱PLC直观易懂,便于入门!!而欧系的西门子PLC太复杂,不适合入门!!这句话已经成了很多人的口头语,但是,到底是为什么呢??恐怕很多人说不清楚!! ...

  3. 计算机进制bcd啥意思,怎样理解二进制和十六进制及BCD码 | 北岛夜话

    所谓"数制",是指"数"的表示方法,即计数的方法.数制采用进位的方法,当数值增加到该位能表示的最大值时,会将位数增加一位(进位).按照进位的规则进行计数的数制, ...

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

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

  5. 计算机导论算法设计,计算机导论精品PPT-第五章 算法与程序设计.ppt

    <计算机导论精品PPT-第五章 算法与程序设计.ppt>由会员分享,可在线阅读,更多相关<计算机导论精品PPT-第五章 算法与程序设计.ppt(52页珍藏版)>请在人人文库网上 ...

  6. 计算机也可以看“视频”,理解“视频”

    计算机也可以看"视频",理解"视频" 2016-08-08 15:56 高婓 0条评论 联合编译: 高斐  章敏 摘要 我们将在文中介绍一种用于视频中动作检测的 ...

  7. C++语言篇 第一章 二进制及计算机基础

    前言 进入新世纪以来,新科技.新技术日新月异,层出不穷:人工智能.机器人.无人驾驶.虚拟现实,量子信息.生物技术.大数据.3D打印.石墨烯.纳米材料.数字货币.区块链.物联网.互联网+.工业4.0-- ...

  8. 在计算机中算法这个术语是指,2004–2005学年《计算机 导论》试卷

    2004–2005学年<计算机 导论>试卷 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.9 积分 2004–2005学年< ...

  9. 用计算机程序求n,计算机编程 算法 求n!.doc

    计算机编程 算法 求n!.doc 算法:求n! 任务 通过对"n!"(n阶乘)这个算法的描述以及程序实现的方法,了解循环结构算法的特征,掌握"累乘器"的算法及程 ...

最新文章

  1. 4项技巧使你不再为PHP中文编码苦恼
  2. eureka需要替换吗_Spring Cloud Alibaba迁移指南1:零代码从Eureka迁移到Nacos
  3. 快速获得CSDN积分的技巧
  4. [CAN] CAN BUS的错误检测和错误状态管理
  5. 【渝粤题库】广东开放大学 建筑设备 形成性考核
  6. 对ADMEMS架构设计方法论的一点随笔
  7. SourceTree Push 代码报错:remote: Support for password authentication was removed on April 26, 2022....
  8. 针对双非学生计算机保研信息分享
  9. 五 . css系列之文本段落属性及应用
  10. Photoshop学习(十四):使用快速蒙版
  11. NBMA(mgre)实验HCIP
  12. CAD得到所有图层名(网页版)
  13. 【Vue3】电商网站吸顶功能
  14. 30天自制操作系统——第0天
  15. K8S太火了!花10分钟玩转它不香么,面试必备知识点
  16. NLP系列——(7)卷积神经网络
  17. 适合影院的点播系统——点量OTT点播
  18. 中科院计算所培训中心二季度公开课安排
  19. 象牙大钢琴II克隆版-Synthogy Ivory Grand Pianos II Kontakt
  20. 面试必备:TCP 经典 15 连问!

热门文章

  1. 网页 添加QQ/MSN/旺旺 在线聊天代码
  2. altera fpga 型号说明_A/X家FPGA架构及资源评估
  3. c++异常处理机制示例及讲解
  4. 蓝桥杯 2011年第二届C语言初赛试题(1)
  5. 隐马尔可夫模型 HMM 原理及实现
  6. Python实战应用-Clumper库函数全解析
  7. sql 如何根据月份查询数据总数_什么是慢查询?如何通过慢查询日志优化?
  8. oracle00011,oracle11g 导出表报EXP-00011:table不存在。
  9. flutter 国际化_从0开始设计Flutter独立APP | 第二篇: 完整的国际化语言支持
  10. 浏览器各个属性的作用