zoukankan      html  css  js  c++  java
  • 计算机基础

    计算机基本知识

    概念

    为什么需要计算机:

      对于现在的我们来说,每天要处理的信息量是巨大的,所以如果还是人工的来对这些数据进行处理,那么效率是很低的。此时计算机的出现就可以帮助我们的来提高处理数据的速度。

    计算机是什么:

      计算机就是一台可以自动高效完成计算的电子设备,我们俗称叫 电脑(PC)。

    计算机的特点:

    1. 计算机可以进行数学和逻辑运算。(逻辑运算可以实现在接收到不同操作指令的时候做出不同的响应)

    2. 计算机可以对数据进行记忆和存储。( 数据不仅仅只是数字,图片 文字 声音 视频.... )

    3. 计算机可以在程序的指令下自动高效的完成计算。

    计算机组成:

    1. 从大的系统分类上我们将计算机的组成分为:软件系统+硬件系统。

    2. 硬件:我们就可以认为是组成计算机的物理设备(看得见 摸得着)。

    3. 软件:所谓的软件就是安装在计算机上供用户使用的操作指令集合。

    硬件系统

    为什么需要硬件:

      任何的计算操作,最终都需要通过相应的硬件来完成。

    硬件的组成:

    1. 现代的电子计算机我们依据 “冯诺依曼” 理论将它的硬件分成五个级成部分。
    2. 输入设备:给计算输入不同格式的数据。
    3. 输出设备:将计算机处理之后的数据以不同的形式展示给用户。
    4. 控制器+处理器:这二个部分合在一起就是我们所说的中央处理器( CPU )
    5. 存储设备:将计算机当中的存储器分为内存和外存两种,无论是哪一种,它的作用都是对数据进行存储。

    内存和外存:

    1. 内存:内存条,它的大小一般在( 4G-16G )。
    2. 外存:外存的表现形式很多,例如硬盘( 128G-1T )。

    内存与外存比较:

    1. 内存的运算速度要快于外存。
    2. 内存当中的数据断电之后会消失,而外存不会。
    3. 内存本身我们又分为只读内存( ROM )和随机内存( RAM )。

    软件系统

    为什么需要软件:

      如果计算机没有软件系统那么它里面的硬件就不知道如何进行工作。

    软件系统介绍:

    1. 我们人为的将软件系统分为二类:系统软件 + 应用软件。
    2. 系统分类(操作系统软件):
      1. 桌面操作系统
        1. Windows:由微软推出,用户量很大,分很多系列。
        2. MacOs:苹果公司,本质其实也是一个Linux分支。
        3. Linux:核心内容是由 李纳斯 编写,应用软件少。
      2. 移动设备操作系统
        1. IOS
        2. Androids:底层就是一款小型的 Linux。
      3. 服务器操作系统
        1. Windows server:由微软推出,是收费的。
        2. Linux:开源,稳定。
        3. 服务器:所谓的服务器我们就可以理解为是一台给用户提供相应的服务的机器。(文件上传下载服务,视频上传下载服务...)只不过,这台机器的处理能力要远远大于我们的个人电脑。

          服务器操作系统查询地址:https://toolbar.netcraft.com/site_report?url=http://www.taobao.com

    3. 应用软件:可以安装在操作系统之上的第三方软件。(微信,QQ...)

    二进制基本介绍

    二进制是什么:

    1. 进制:一种人为规定的计数规则。
    2. 二进制:它就是逢二进1 的一种计算规则。

    二进制介绍:

    1. 在二进制里“基数”只有 0 和 1。
    2. 二进制当前被广泛的应用于计算机当中。( 计算机底层只能读懂0 和 1 )

    计算机如何理解0 和 1

      现代的计算机都是通电进行工作,当电流走过设备的时候必然会产生电压。此时前辈们就人为的设定规则,取了一个电压值,比这个值大的叫高电位。用数字1 表示,比这个值小的叫低电位。用数字0 表示。基于这种原理,此时的计算机就可以认识0 和 1 了。刚好0 与1 又是二进制当中的基数。( 计算机应用了二进制 )

    计算机采用二进制的好处

    1. 二进制技术实现简单,状态稳定。
    2. 二进制里只有0 和 1 两个基数,刚好与程序语言当中的 真和假对应。【全世界都人为的认为 1 可以代表程序语言中真,0 就可以代表程序语言中的假】
    3. 二进制数值可以很容易的转成十进制。

    进制转换

    http://tool.oschina.net/hexconvert/ 【 在线的进制转换工具地址 】

    其它进制转十进制:

    1. 先确定当前数字的位数,然后从右向左数,依次认为是低位到高位。
    2. 记下每位数字所在的位数N( N不是一个固定的数字,由当前所在位数决定 )。
    3. 取出每一位上的数字 m ,然后用这个m 去乘以当前进制的N-1次方。( m也不是固定的,它就是当前位上所具有的数字 )。
    4. 将每位上的相乘结果进行相加,最后的和就是该数值所对应的十进制值。

    其它进制转二进制

    1. 十进制转二进制

        (1)用这个十进制的数字除以2 ,得到商和余数。

        (2)判断商是否为0,如果不是0则继续用这个商除去2。

        (3)直到某一次商为0时结束,将这个除法过程中产生的余数反向排列。

        (4)最终的排列结果就是当前这个十进制转成二进制后的数值。

      2. 8进制/16进制转二进制

        (1)将八进制或十六制中的所有“基数”都转成二进制。(需要注意的就是八进制转二进制要写成三位,而十六进制要写在四位)。

        (2)有了上述的二进制基数转换之后,当我们拿到一个具体的八进制或者十六进制数值之后我们只需要将其进行拼接就可以。

    编码

    编码是什么

      指的就是将我们人类可以理解的语言编译成计算机可以执行的语言。

    编码的思想

      将我们人类中的自然语言人为的按照一种规则与一个二进制的数值做对应。当这种对应关系越来越多的时候,就会形成一张表,我们将这个表称之为叫编码表。

    ascii 码表

    1. 它是全世界第一张通用单字节编码表。
    2. 它分成三个部分,一共有256个字符。
    3. 当我们没有使用正确的编码来处理汉字的时候在网页展示就会乱码。
    4. 对于中文汉字来说,我们目前使用最多的一种编码标准就是 UTF8 编码。

    数据计量单位

    为什么需要计量单位

      计算机是用来处理数据的,当数据积累到一定的量级之后就会需要有相应的单位来对它们进行衡量。

    最基本的计量单位

    1. 比特( bit/ 位 ):它被认为是计算机当中最小的一个单位。
    2. 字节( bytes ): 它比 位要大一些,人为规定 1字节=8位

    常见的单位及转换关系

    1. 1B = 8b
    2. 1KB = 1024B  【文档和小图片】
    3. 1MB = 1024KB【 大图片,或者音乐 】
    4. 1GB = 1024MB【 高清的电影 】
    5. 1TB = 1024GB
    6. 1PB = 1024TB

    编程语言

    由人类来设计的一种计算机可以理解的语言。

    编程语言发展历史

    1. 机器语言:
      1. 机器语言就是纯二进制,将我们人类想让计算机完成的事情都直接用 0 和 1 来表示。
    2. 汇编语言:
      1. 汇编语言就是在机器语言的基础之上将一些常用的操作直接规定成人类的一些语句来表达,但是随着计算机要做的事情越来越多,同时生产计算要的厂商也越来越多,我们不能保证所有的硬件都能很好支持我们的二进制。
    3. 高级编程语言:
      1. 它就是一种类似于人类的自然语言,人类很容易理解,同时又不用担心计算机如何识别。当前全世界大概有(600)多种编程语言。

    常见的编程语言

    1. C语言: 认为c 是高级编程语言的鼻祖。
    2. C++ :它就是在 C语言的基础上做了减化。更利于我们学习,c 和 c++ 都是由 贝尔实验室 推出。
    3. Java :由 sun 公司在1995推出,最大的点是跨平台。( jvm 虚拟机 )。
    4. C# :由微软推出的一个语言。
    5. Python :一种数学计算能力很强的语言。
    6. Php :这门语言在出生的时候最大的特点就是用来做web 网站。
    7. Javascript:当前最流行的一种前端脚本语言
    8. Nodejs :全栈型语言,前后端都可以写。
    9. Go :由谷歌推出的一门语言。
  • 相关阅读:
    python中的scapy模块
    延时注入跨库注入
    Linux 技巧:让进程在后台可靠运行的几种方法
    爆破phpmyadmin小脚本
    ACID原则
    MYSQL批量插入数据库实现语句性能分析
    MYSQL批量插入数据库实现语句性能分析
    JS数组去重算法
    JS数组去重算法
    JS中substr和substring的用法和区别
  • 原文地址:https://www.cnblogs.com/purewhite/p/10981398.html
Copyright © 2011-2022 走看看