C/C++知识点之计算机数据存储模型
小标 2019-04-01 来源 : 阅读 1175 评论 0

摘要:本文主要向大家介绍了C/C++知识点之计算机数据存储模型,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之计算机数据存储模型,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

C/C++知识点之计算机数据存储模型

数据存储模型


当今社会,计算机无处不在,我们知道在计算机CPU用来计算数据,内存和Flash用来存储数据。计算机中的数据是现实社会中的内容在计算机中以另外一种方式来存储。我们的图片、文字、视频等资料都可以保存到计算机中。那么计算机又是如何保存这些数据的呢?在计算机中的这些数据到底是以什么方式存在?本节课将会为大家解答这些疑问,让大家从底层理解什么是计算机中的数据。


计算机电路模型


当我们拆开计算机,可以看到里面是一块电路板,上面有各种各位的元器件,有很多绕老绕去的线路,看起来很复杂。所有的计算都需要电源。我们可以抽象地理解为一个计算机就是一块人类按照一定规则制造的板子,上面有各种各样的元件,当有电源进入板子的时候,各种元件可以对电源进行有规则的引导,使得板子的各个位置有不同的电压和电流。

电压就是数据


从上面说的计算机电路模型,我们可以知道计算机中的硬件是固定,里面可变的东西是电压和电流。而计算机中的数据就是以电压的方式来表示的。比如:1V电压代表1,2V电压代表2,3V电压代表3。那么,结合之前讲到的加法器,两个输入分别为1和2,输出结果应该是3。实际上,在计算机中是两个输入分别为1V和2V电压,输出一个3V的电压。


二进制数据


在计算机中所有的数据都是用电压来表示的,不同的电压可以表示不同的数据,一个数据可以由多个电压组合来表示。然而,当数据量很大的时候,用上面的电压表示法,则电压值的需要很细分为不同的数值,在电路中要稳定的产生很多电压是很难的。如果把电压分为两种



  • 一种是高电平(高电压),用1代表高电平


  • 一种是低电平(低电压),用0代表低电平



把所有的数据用0和1的组合来表示,比如数字0是 0000 0000,数字1是 0000 0001。一张图片可能由几百万个0和1的组合来表示。所有的文字、图片、音乐、视频、文档等数据都用0和1的组合来表示。在电路中,只有高电平和低电平的区分,比如把0V~1V表示低电平,3V~6V表示高电平,这样就算电压值有一定的波动,数据也不会丢失。这种0和1的组合,称为二进制数据。


二进制数的运算


我们生活中的算术运算都是使用十进制来计算的,也就是逢十进一,比如:1 + 9 = 10。而二进制的运算则是逢二进一,比如:1 + 1 = 10。各进制数据之间的转换可以查看[进制转换][1],电脑上的计算器工具也可以帮我们进行不同进制数据的转换。

为什么用二进制


计算机内部之所以采用二进制,其主要原因是二进制具有以下优点:



  1. 技术上容易实现。用双稳态电路表示二进制数字0和1是很容易的事情。
    计算机使用二进制进行编码,而不是我们熟悉的十进制,最重要的原因是二进制物理上更容易实现。因为电子器件大多具有两种稳定状态。比如晶体管的导通和截止,电压的高和低,磁性的有和无等。而找到一个具有十个稳定状态的电子器件是很困难的。使用二进制还有运算简单的优点。十进制有55种求和与求积的运算规则,二进制仅有各有3种,这样可以简化运算器等物理器件的设计。另外,计算机的部件状态少,可以增强整个系统的稳定性。所以,二进制对于计算机来讲,是自然而然的选择。


  2. 可靠性高。二进制中只使用0和1两个数字,传输和处理时不易出错,因而可以保障计算机具有很高的可靠性。


  3. 运算规则简单。与十进制数相比,二进制数的运算规则要简单得多,这不仅可以使运算器的结构得到简化,而且有利于提高运算速度。


  4. 与逻辑量相吻合。二进制数0和1正好与逻辑量“真”和“假”相对应,因此用二进制数表示二值逻辑显得十分自然。


  5. 二进制数与十进制数之间的转换相当容易。人们使用计算机时可以仍然使用自己所习惯的十进制数,而计算机将其自动转换成二进制数存储和处理,输出处理结果时又将二进制数自动转换成十进制数,这给工作带来极大的方便。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程