蜗牛学苑logo
图标
蜗牛学苑 凡云教育 阿多比设计 播来播趣
  • 图标 图标 在线靶场
  • 图标 图标 专题文章
  • 图标 图标 在线视频
  • 图标 图标 用户排名
  • 图标 图标 收藏夹
  • 图标 图标 积分商城
  • 图标 图标 写反馈
点击查看未关闭靶场
登录/注册
头像
图标 0
图标

计算机理论基础

发现 1分钟 5个赞

1. 计算机理论基础 2. dos命令和常用快捷键 3. 二进制位运算

计算机理论基础

一、计算机理论常识

1. 操作系统

现代计算机是由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口等输入输出设备构成。

但是作为开发,作为程序员是不需要去和这些硬件打交道的。

image-20230307161829412

所以,在这些硬件的基础上,安装了一层软件,这层软件通过用户输入的指令来达到控制硬件的效果,这层软件,被称之为操作系统。

一般常见的电脑操作系统有:

  1. Windows

  2. Linux

  3. FreeBSD

  4. MAC OSX

常见的手机操作系统有:

  1. Harmony OS,

  2. iOS

  3. Android

  4. Smartisan OS

  5. MIUI

2. 运行环境

而我们平时需要用到的程序,比如游戏,它就需要一个运行环境,可以说,运行环境=操作系统+硬件。

image-20230307161954426

3. 硬件基础

1. CPU

CPU全称叫做 Central Processing Unit,叫做中央处理器。

台式CPU2023天梯排行

手机CPU天梯排行

额外补:

2023显卡天梯图

image-20230307165703089

CPU内部有什么呢?

image-20230307172621061

  • 寄存器是中央处理器内的组成部分。它们可以用来暂存指令、数据和地址。可以将其看作是内存的一种。根据种类的不同,一个CPU内部会有20- 100个寄存器。

  • 控制器负责把内存上的指令、数据读入寄存器,并根据指令的结果控制计算机

  • 运算器负责运算从内存中读入寄存器的数据。

  • 时钟负责发出CPU开始计时的时钟信号

2. 内存

计算机第二个重要的部分就是内存了。

内存理想状态是需要读取速度快,容量大,还便宜。但是由于目前的技术办不到,就采用了多级缓存的方式,分层次的一种存储技术。

image-20230307173322902

高速缓存:常见L1缓存都是在CPU内部的,部分CPU内部包含2级缓存L2,极少部分包含L3缓存。

image-20230307174900381

主存:

高速缓存下一层就到了主存,我们常说的内存就是直接指的主存。

image-20230307175851890

重要概念RAM和ROM:

随机存储器(RAM)︰内存中最重要的一种,表示既可以从中读取数据,也可以写入数据。当机器关闭时,内存中的信息会丢失。

只读存储器(ROM) ︰ ROM一般只能用于数据的读取,不能写入数据,但是当机器停电时,这些数据不会丢失。

内存IC是一个完整的结构,它内部也有电源、地址信号、数据信号、控制信号和用于寻址的IC引脚来进行数据的读写。下面是一个虚拟的IC引脚示意图

0 1计算机 0V表示计算机的0 5V表示1

00000 00000 ~ 11111 11111 0~1023 总共可以代表1024个地址。

1 00000 00000 2^10=1024 -1

0000 0001 ==》00000 00001地址 1024*1byte =1k

image-20230307180355129

了解计算机科学的进制转换。

单位 换算 大小
byte 1B = 8bit = 0000 00001 B
kilo 1KB = 1024B2^10 B
Mega 1M = 1024KB2^20 B
Giga 1G = 1024MB2^30 B
Tera 1T = 1024GB2^40 B
Peta1P = 1024TB2^50 B
exa1E = 1024PB2^60 B
zetta1Z = 1024EB2^70 B
yotta1Y = 1024ZB2^80 B

问题:

内存用来存储什么?重启电脑后,内存中的内容是否还存在?平时我们下载的软件、游戏又是存储在哪里?

3. 磁盘

磁盘与内存的区别:

  1. 内存是使用的电流来实现存储(回忆之前的内存IC),磁盘则是通过磁记录技术实现存储。

  2. 内存是高速且造价昂贵的存储设备,磁盘速度较慢,造价低廉的存储设备。

  3. 断电后,内存数据丢失,磁盘中数据可以长久保留。

  4. 内存属于内部存储设备,磁盘属于外部存储设备

早期的磁盘,是指的软盘:

image-20230313101031612

如今常用的磁盘是硬盘(hard disk):

image-20230313101114364

以及固态硬盘:

image-20230313101241021

软件不读取到内存中,则无法运行。CPU、内存、磁盘三者之间的关系。

image-20230313102007123

思考一个问题:

为什么每次原神(一个游戏)更新,比如多了一块地图等,需要更新游戏?更新的是什么呢?玩游戏的时候,加载又是干嘛呢?

比如王者荣耀进入游戏时,需要加载到100%,经常看见一个提示,加载过程不消耗流量,这个又是在干嘛呢?

4. I/O设备

输入/输出(英文:Input/Output,简写为 I/O)是信息处理系统(例如计算器)与外部世界(可能是人类或另一信息处理系统)之间的通信。

输入是系统接收的信号或数据,输出则是从其发送的信号或数据。

输入/输出设备是硬件中 由 人(或其他系统)使用与计算器进行通信的部件。例如,键盘或鼠标是计算器的输入设备,而监视器和打印机是输出设备。计算器之间的通信设备(如电信调制解调器和网卡)通常运行输入和输出操作。

常见计算机设备:

image-20230313104956032

常见设备传输数据速率:

image-20230313105039274

二、常用cmd指令

什么是cmd?

命令提示符(Command Prompt)是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。

1. 常见的DOS命令

DOS命令窗体:Windows系统中提供的一个用于 命令操作的控制台

image-20210517153001904

DOS命令,打开方式:

  1. Win 图标 + R ,在弹出的运行窗体中,输入cmd回车

  2. 点击开始图标,点击“运行”,输入cmd回车

  3. 在任意的目录中,按住shift键,点击鼠标右键,选择:在此次打开Powershell窗口

  4. 我的电脑文件夹目录栏,输入cmd,直接在改目录下打开cmd,如下图:

image-20221108170138419


常见的DOS命令:

  1. dir

    展示当前的文件夹中的所有的子文件和子文件夹的所有内容

  2. cd ..

    进入到当前目录的,上层目录中去

  3. cd /

    回到根目录中(盘符)

  4. cd 指定的目录

    进入到指定的目录中去,当然:如果是进入到其他盘符,还需要使用 盘符:

  5. 盘符:

     d:

    切换盘符

  6. cls

    清空屏幕

  7. exit

    退出DOS命令窗体

  8. ping IP地址 : ping www.baidu.com

更多cmd命令如下:(了解)

img

2. 常见Windows快捷键

  1. Ctrl +A 全选

  2. Ctrl + S 保存

  3. Ctrl +Z 撤销 回到上一步

  4. Ctrl +Y 进入下一步

  5. Ctrl + C 复制

  6. Ctrl +V 粘贴

  7. Win + E 打开我的电脑

  8. Win + D 回到桌面

  9. Win +R 打开运行窗体

  10. Win +L 锁屏

三、二进制数

1. 为什么要用二进制表示

内存CPU和内存使用IC电子元件作为基本单元,IC电子元件有不同种形状,但是其内部的组成单元称为一个个的引脚。有人说CPU和内存内部都是超大规模集成电路,其实IC就是集成电路(IntegratedCircuit)。

image-20230313113616054

上图的IC元件两侧,排列的四方形块(数字那些)就是引脚,IC的所有引脚,只有两种电压:0V和 5V,IC的这种特性,也就决定了计算机的信息处理只能用0和1表示,也就是二进制来处理。

一个引脚可以表示一个0或1,所以二进制的表示方式就变成0、1、10、11、100、101等,虽然二进制数并不是专门为引脚来设计的,但是和IC引脚的特性非常吻合。

计算机的最小集成单位为位,也就是比特(bit),二进制数的位数一般为8位、16位、32位、64位,也就是8的倍数,为什么要跟8扯上关系呢?因为在计算机中,把8位二进制数称为一个字节byte,一个字节有8位,也就是由8个bit构成。

为什么1个字节等于8位呢?因为8位能够涵盖所有的字符编码,这个记住就可以了。

字节是最基本的计量单位,位是最小单位。

用字节处理数据时,如果数字小于存储数据的字节数,那么高位就用0填补,高位和数学的数字表示是一样的,左侧表示高位,右侧表示低位。比如一个六位数用二进制数来表示就是 10 0111,只有6位,高位需要用0填充,填充完后是 0010 0111,占一个字节,如果用16位表示就是 0000 0000 0010 0111占用两个字节。

我们一般在软件开发中用十进制数表示的逻辑运算(+-*/这些)等,也会被计算机转换为二进制数处理。对于二进制数,计算机不会区分他是图片、音频文件还是数字,这些都是一些数据的结合体。

2. 什么是二进制数

那么什么是二进制数呢?为了说明这个问题,我们先把 0010 0111 这个数转换为十进制数看一下,二进制数转换为十进制数,直接将各位置上的 值*位权 即可,那么我们将上面的数值进行转换。

image-20230313114943203

上图 中的内容:

$$
1*2^5
$$


1指第5位(上图最左边的第一个1)的值(从高位到低位分别是 7 6 5 4 3 2 1 0),2表示基数,5表示次幂(由位子得出,第一个1正好是第5位),而2的5次方就是位权,由基数做次幂运算得出。

同理,十进制也是一样,39,并非是39两个数字连着,而是

$$
3*10^1+9*10^0
$$


对应位权就是10的一次方和0次方,十进制的基数就是10.

img

3. 便于计算机处理的补数

之前研究了正数二进制转换为10进制, 那么如果是负数怎么办? 负数又是如何显示的?

二进制数中表示负数值时,一般会把最高位作为符号来使用,因此我们把这个最高位当作符号位。

符号位是0时表示正数,是1时表示负数。

那么-1用二进制数该如何表示呢?

可能很多人会这么认为: 因为1的二进制数是0000 0001,最高位是符号位,所以正确的表示-1应该是10000001,但是这个答案真的对吗?

前置知识: 计算机只有加法和位移来实现所有的加减乘除操作,位移后面讲。

计算机做减法的时候,实际上,使用的是加法,比如 1-1,对于计算机来说就等于1+(-1),那么-1在计算机中,则需要使用补数(补码)来进行。

那补数是怎么计算出来的?以-1举例:

image-20230313121957986

具体来说,就是需要先获取某个负数的数值的二进制数(也就是上图的原始数值),然后对二进制数的每一位做取反操作(0 ---> 1 , 1 --->0),最后再对取反后的数+1,这样就完成了补数的获取。

总结一下就是原始数值 取反再+1,得出补数。

先来试一下,错误的结论,如果没有补数,则会出现什么问题:

image-20230313131046329

所以,最终,如果计算机使用的是1000 0001 表示负一,则计算结果位130,与预期的1-1结果完全不符合。

现在用之前计算的-1的补数1111 1111来进行计算:

image-20230313131846897

计算机会忽略掉溢出的数据,第九位的1溢出了,所以最终结果就为0000 0000。

如果结果是负数呢?又要怎么计算?尝试计算3-5:

image-20230313132503574

所以,补码 转成 原码,也是取反再+1。

4. 逻辑与算数位移

左移和右移:左移效果。

image-20230313140823062

逻辑右移与算数右移:将-4右移2位

image-20230313140936140

那么我们可以得出来一个结论︰

左移时,移位后,只需要将低位补0即可;

右移时,需要根据情况判断是逻辑右移还是算数右移。

5. 逻辑运算

计算机能够处理的运算,大体可分为逻辑运算和算数运算,

算数运算指的是加减乘除四则运算;

逻辑运算指的是对二进制各个数位的0和1分别进行处理的运算,包括逻辑非(NOT运算)、逻辑与(AND运算)、逻辑或(OR运算)和逻辑异或(XOR运算)四种。

  • 逻辑非指的是将0变成1,1变成0的取反操作

  • 逻辑与指的是"两个都是1时,运算结果才是1,其他情况下是0"

  • 逻辑或指的是"至少有一方是1时,运算结果为1,其他情况下运算结果都是0"

  • 逻辑异或指的是"其中一方是1,另一方是0时运算结果才是1,其他情况下是0"

简述口诀:

逻辑非:取反

逻辑与:有0则0

逻辑或:有1则1

逻辑异或:相同得0,不同得1; 或者如下图,左右直接相加,不进位,比如0+0=0,1+1 =0, 0+1=1。

图标 相关靶场
评论
QQ好友
微信好友
复制链接
版权所有 © 成都蜗牛创想科技有限公司
备案: 蜀ICP备15014130号-13 网络文化经营许可证

登录

前往注册
验证码登录
11 / 11
手机号或密码错误
图标 图标
验证码图片

重置密码

密码登录
0 / 11
验证码错误

重置密码

0 / 11
验证码错误

账号注册

注册成功

注册成功,默认密码已通过短信发送给您

欢迎来到蜗牛学苑~

0 / 11
验证码错误
图标 图标
密码或手机号错误
图标 图标
关闭
  • 账号信息
  • 重置密码
  • 我的生涯
  • 消费记录
  • 上传记录
  • 退出登录

账号信息

头像 更换

小靶

修改密码

修改密码

我的生涯

  • 总览
  • 打靶记录

消费记录

  • 靶场
  • 积分兑换

上传记录

  • 有奖靶场
  • 有奖文章
新增
名字 版本 flag位置 操作

退出登录

退出登录
图标