第一章 计算器基础知识

第一课 计算机发展史

1. 计算机发展的五个阶段划分:

第一章 计算机基础知识 - 图1

2. 1946年,世界上第一台电子计算机ENIAC在美国宾夕法尼亚大学诞生。

3. 计算机界的两位重要人物

  1. 冯·诺依曼——计算机之父,提出计算机体系结构。
  2. 图灵——人工智能之父,提出图灵试验。
  • PS:2000年,华裔计算机科学家姚期智获得了图灵奖,他是唯一一位获得图灵奖的华人。

    4. 冯·诺依曼式的计算机体系结构

    冯·诺依曼提出计算机硬件设备由5部分组成(如下图所示),并且由总线(地址总线、数据总线、控制总线)连接。

    第一章 计算机基础知识 - 图2

    冯·诺依曼的存储程序思想

    程序+数据

5. 计算机的应用

  1. 数值计算
  2. 数据和信息处理
  3. 过程控制
  4. 计算机辅助系统
  5. 人工智能

第二课 计算机系统的基本结构

1. 处理器

  1. CPU
  2. GPU
  3. TPU

2. 总线结构

  1. 数据总线(DB)
  2. 地址总线(AB)
  3. 控制总线(CB)

3. 存储器

第一章 计算机基础知识 - 图3

4. 存储器容量单位的换算

  1. 1KB=1024B
  2. 1MB=1024KB
  3. 1GB=1024MB
  4. 1TB=1024GB
  5. 1PB=1024TB

5. 主要的性能指标

  1. 字长
  2. 运算速度
  3. 主频
  4. 内存容量

第三课 计算机软件系统

1. 系统软件

  1. 操作系统
  2. 语言处理程序
  3. 数据库管理系统

2. 应用软件

不用说,WPS、微信、DeepSeek都是应用软件

第四课 计算机语言

就两种:低级高级语言!!!

1.低级语言

低级语言依赖于硬件可读性可移植性差,分两种。

1. 机器语言

例:10101000110101110 (看不懂就对了)

2. 汇编语言

例:ADD (数字逻辑上的加减)

2.高级语言

高级语言是一种独立于机器的语言,从解决问题方式的角度分两种。

1.面向过程:自顶往下逐步求精,最重要的是模块化的思想方法。

例:C、Pascal、Fortran

2.面向对象:把事物抽象成类,再实例化成对象,对象包括属性与行为。

例:C++、C#、Java、Python、JavaScript

注意:

先有面向过程再有面向对象!!!

补充:

Fortran是第一个高级语言,Smalltalk是第一个支持面向对象的语言。

3.高级语言的翻译过程

有两种:

1.编译性语言

例:C/C++、Pascal/ObjectPascal(Delphi)

2.解释性语言

例:ASP、Java、C#、PHP、JavaScript、VBScript、Perl、Python、Ruby、MATLAB

第一章 计算机基础知识 - 图4

第五课 数制转换

一、常见的进制

1. 十进制(Decimal)

  • 基数为10,使用0~9十个数字。
  • 示例:123.45 = 1×10² + 2×10¹ + 3×10⁰ + 4×10⁻¹ + 5×10⁻²

    2. 二进制(Binary)

  • 基数为2,使用0和1两个数字。
  • 计算机内部使用二进制,因为二进制状态(0和1)易于用物理设备表示(如开和关,高电平和低电平)。
  • 示例:101.11(二进制) = 1×2² + 0×2¹ + 1×2⁰ + 1×2⁻¹ + 1×2⁻² = 5.75(十进制)

    3. 八进制(Octal)

  • 基数为8,使用0~7八个数字。
  • 示例:123.4(八进制) = 1×8² + 2×8¹ + 3×8⁰ + 4×8⁻¹ = 83.5(十进制)

    4. 十六进制(Hexadecimal)

  • 基数为16,使用0~9和A~F(或a~f)表示,其中A=10,B=11,C=12,D=13,E=14,F=15。
  • 在计算机中常用于简化二进制表示(因为与二进制转换方便)。
  • 示例:1A.8(十六进制) = 1×16¹ + 10×16⁰ + 8×16⁻¹ = 26.5(十进制)

    二、为什么计算机使用二进制

  • 物理实现容易:只需要两种稳定状态的物理器件(如开关、电压的高低),抗干扰能力强。
  • 运算规则简单:二进制的加、减、乘、除等运算规则比十进制简单得多,容易用数字电路实现。
  • 逻辑运算方便:可以方便地用二进制数的位来表示逻辑真和假,进行逻辑运算。

    三、进制转换

    1. 其他进制转十进制(按权展开)

  • 公式:将一个进制数按权展开相加,权重为基数的幂次(从个位开始,整数部分为0次幂,向左递增;小数部分为负幂次,向右递减)。
  • 示例
  • 二进制数 1011.101 → 1×2³ + 0×2² + 1×2¹ + 1×2⁰ + 1×2⁻¹ + 0×2⁻² + 1×2⁻³ = 11.625(十进制)
  • 八进制数 57.6 → 5×8¹ + 7×8⁰ + 6×8⁻¹ = 47.75(十进制)
  • 十六进制数 2F.8 → 2×16¹ + 15×16⁰ + 8×16⁻¹ = 47.5(十进制)

    2. 十进制转其他进制

  • 整数部分:除基取余法(从下往上取余数) 步骤:用十进制数不断除以目标基数,直到商为0,余数从下往上排列。
  • 小数部分:乘基取整法(从上往下取整数部分) 步骤:用十进制小数部分不断乘以目标基数,直到积的小数部分为0或达到所需精度,每次取乘积的整数部分,从上往下排列。
  • 示例
    • 将十进制数 25.375 转换为二进制:
      • 整数部分25:25 ÷ 2 = 12 余1 ↑
        1. 12 ÷ 2 = 6 0
        2. 6 ÷ 2 = 3 0
        3. 3 ÷ 2 = 1 1
        4. 1 ÷ 2 = 0 1 所以整数部分为 `11001`
      • 小数部分0.375:0.375 × 2 = 0.75 → 整数部分0
        1. 0.75 × 2 = 1.5 整数部分1
        2. 0.5 × 2 = 1.0 整数部分1 所以小数部分为 `.011`
      • 因此 25.375 = 11001.011(二进制)
        • 将十进制数 100 转换为十六进制: 100 ÷ 16 = 6 余4(低位) 6 ÷ 16 = 0 余6(高位) 因此为 64(十六进制)

          3. 二进制与八进制、十六进制的转换

  • 二进制转八进制:将二进制数从小数点开始,分别向左(整数部分)和向右(小数部分)每3位一组分组,不足3位的用0补齐,然后每组二进制数转换为对应的八进制数。
    • 示例:11010111.1101(二进制)
    • 整数部分:分组(011, 010, 111)注意:最高位补0 → 3,2,7 → 327(八进制)
    • 小数部分:分组(110, 100)最低位补0 → 6,4 → .64(八进制)
    • 所以整体为 327.64(八进制)
  • 八进制转二进制:将每一位八进制数转换为3位二进制数(不足3位在高位补0),然后拼接起来。
    • 示例:65.4(八进制)→ 6→110, 5→101, 4→100 → 110101.100(二进制)
  • 二进制转十六进制:每4位一组分组。
    • 示例:11101011.101101(二进制)
    • 整数部分:分组(1110, 1011)→ E, B → EB(十六进制)
    • 小数部分:分组(1011, 0100)注意:最低位补0 → B, 4 → .B4(十六进制)
    • 所以整体为 EB.B4(十六进制)
  • 十六进制转二进制:将每一位十六进制数转换为4位二进制数,然后拼接。
    • 示例:A3.5C(十六进制)→ A→1010, 3→0011, 5→0101, C→1100 → 10100011.01011100(二进制)

      四、小结

  • 计算机使用二进制作为基础。
  • 理解不同进制的表示方法(权值)。
  • 掌握不同进制之间的转换方法:
  • 其他进制转十进制:按权展开。
  • 十进制转其他进制:整数部分除基取余,小数部分乘基取整。
  • 二进制与八进制、十六进制之间的快速转换:分组法。

第六课 信息编码表示

1.认识计算机中的信息

1.什么是信息

  • 信息就是计算机能理解的各种数据
  • 例子:文字、数字、图片、声音

2.计算机如何表示信息

  • 计算机只认识0和1
  • 所有信息最终都变成0和1的组合

2.数字的编码表示

1. 十进制与二进制

  • 十进制:我们平时用的0-9
  • 二进制:计算机用的0和1

2. 数字转换小游戏

  1. 十进制 | 二进制
  2. 0 | 0
  3. 1 | 1
  4. 2 | 10
  5. 3 | 11
  6. 4 | 100

3.字母的编码表示

1. ASCII码表

  • 每个字母对应一个数字

例如:A→65,B→66

2. 简单C++代码演示

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. char letter = 'A';
  5. cout << "字母 " << letter << " 的编码是: " << (int)letter;
  6. return 0;
  7. }

4.颜色的编码表示

1. RGB颜色

  • 红(Red)、绿(Green)、蓝(Blue)混合
  • 每种颜色用0-255的数字表示

2. 颜色编码练习

  1. 红色:RGB(255,0,0)
  2. 绿色:RGB(0,255,0)
  3. 蓝色:RGB(0,0,255)
  4. 黄色:RGB(255,255,0)

5.综合练习

1. 编码转换挑战

  • 把名字转换成ASCII码
  • 用二进制表示年龄

2. 简单C++程序

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. string name;
  5. cout << "输入你的名字: ";
  6. cin >> name;
  7. cout << "名字的ASCII码: ";
  8. for(char c : name) {
  9. cout << (int)c << " ";
  10. }
  11. return 0;
  12. }

第七课 原码反码补码

1.真值

机器数的第一位是符号位(0代表正,1代表负),后边才是真正的数值。

2.原码

原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。

3.反码

  • 正数的反码是其本身。
  • 负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

4.补码

  • 正数的补码是其本身。
  • 负数的补码是在其原码的基础上,符号位不变,其余各个位取反,最后+1(即在反码的基础上+1)

第八课 计算机网络

1.网络的主要功能

  1. 资源共享
  2. 信息传输
  3. 分布式处理
  4. 综合信息服务

2.网络的分类

1.按网络的地理范围分类

  • 局域网(LAN)
  • 城域网(MAN)
  • 广域网(WAN)

2.按网络的拓扑结构分类

  • 星形
  • 总线形
  • 环形
  • 树形
  • 网状形

3.网络的体系结构

第一章 计算机基础知识 - 图5 第一章 计算机基础知识 - 图6

4.计算机病毒

计算机病毒的特征:

  1. 繁殖性
  2. 破坏性
  3. 传染性
  4. 潜伏性
  5. 隐蔽性
  6. 可触发性

下课!!!