本文旨在让你掌握最基本的计算机进制及内存的知识,相信入门的朋友看完后大有帮助
因为部分排版原因电脑观看效果最佳
文中开头介绍部分有些啰嗦 可以点击目录跳转至对应地方观看
关联教程直达车-点击C语言入门知识串讲跳转
printf("感谢观看!");
一、进制、编程语言的出现
首先我们为什么要学进制?以及进制是什么?
计算机进制是入门知识,也是必须了解的知识。相信大多数人就算不知道具体是什么 也多少听说过二进制之类的,至于具体是什么,或许不知道,但就是在脑子里有印象/doge
我们需要知道,计算机并不真是无比智能到你说啥它干啥,不然还要程序员干啥,它只听程序员的,换个说法就是,程序员能让它听他的,说到底也就是程序员掌握有与计算机交汇的语言,也就是常说的编程语言、汇编语言、二进制语言等,程序员就是通过掌握这些语言对计算机发送指令设计程序,让计算机实现一系列操作。
这里很令人好奇,为什么计算机能识得这些语言,程序员写的代码,能实现那么多不可思议的功能,什么智能手机,人工智能等电子产品令人觉得匪夷所思...
下面带你了解计算机的奇妙发展
目录
1. 0/1 基本原理
我们知道计算机只是机器也就是铁疙瘩,并不是有思想的人类能够独立思考,它的一切行为都是以人的意志为中心进行灌输的,计算机的电路中所包含的信息都来自电信号,而且为了方便地区分输出的是高电压和低电压,早期的操作人员通过带有孔的纸带将程序输入电脑进行编译(对纸条打点),点代表1、0,即它其实只能通过电流识别0、1,而二进制就是这样由来的,因此0、1二进制是计算机的最基本单元,然后计算机科学家就通过这些编码赋予了一定意义,这样最早的二进制语言就实现了。
随着计算机的逐步应用开发,人们逐渐意识到 纯粹的 0、1编码,多而繁琐 根本不能轻易完成什么重大的任务,后面出现了汇编语言,操作人员每人一个小册子(指令小册子),操作员对着册子对计算机编码,虽然这样相比之前好得多但开发人员因为指令多而繁杂也是非常非常辛苦。因此计算机的发展迫切需要更加全面便捷的语言,也就是最初的A语言、B语言 发展至今的 C、JAVA、C#、C++、Python...等功能各异长处不同的语言
二、内存基本知识
在讲进制方面的知识前,必须得提一下计算机内存,从之前的学习我们知道,我们讲解各种数据类型的变量时用 sizeof () 操作符求了一下空间大小,由此可见,每个变量都占有一定的内存空间,我们这里所说的内存到底指的是什么?是不是和生活中买电脑时的8G/16G/32G内存有相应的关联?硬盘、网盘也能存储东西,在电脑上有何差别呢?
内存是计算机的运算空间,计算机里面的所有计算都依赖内存进行,内存按运行速率低到高有 硬盘、内存、缓冲区、寄存器等 下面寄存器处会详细讲
在我们生活中 地球就相当于一个大的内存单元 存储着所有的人类 人类被分布在每个国家 我们可以通过这个国家划分的 省市县镇村等具体到找到每家每户 并且每个人都有独特的身份证号码编号,同理 计算机会将自己的内存划分成这么多细小的单元 我们知道计算机还要进行各种复杂的运算 就像人类的实名制一样 它也必须对每一个单元进行编号 编号后还要进行使用 因而它有效的空间就会显得相形见绌 所以它必须进行更高效的内存管理机制
=> 当我们需要的时候 (比如定义变量) 它会随机租借给该变量一个空余的内存单元--我们知道变量的大小单位是byte(下面会有为什么最小单位是byte的推导过程), 而当使用完成之后(局部、全局变量)这个变量就会自动销毁,重新释放分配给它的内存空间以待其他需要空间的地方使用,而这就是变量 的 可行域生命周期的由来,原理就是 计算机高效便捷的内存管理机制
1. 内存机理
下面我们讨论下 计算机所分配的找到某个数值的编号是多少?以及为什么数据类型定义的基本单位是 byte而不是更细小的bit&#