1.1 计算机基础


掌握计算机基础知识是学习编程的第一步

计算机特点

计算机作为一种通用的信息处理工具,具有极高的处理速度、很强的存储能力、精确的计算和逻辑判断能力。

1. 运算速度快

当今计算机的运算速度已经达到每秒几十亿亿次,微机也可以达到每秒亿次以上。

2020年,Fugaku的峰值浮点性能高达537PFLOPS(一秒钟可以进行10^15次运算)。

2. 计算精确度高

一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几。

3. 具有记忆和逻辑判断能力

随着计算机的发展,计算机不仅能进行计算,还能把各种数据储存起来,来供人们随时调用。还可以通过编码技术对各种计算信息进行算术运算和逻辑运算,还可以进行推理和证明。

4. 自动控制能力

计算机可以按照内部设定好的程序自动控制进行。

计算机常用的数制及编码

数制也叫计数制,用一组固定的符号和统一的规则来表示数值的方法。

编码是通过采用少量的基本符号,选用一定的组合原则,以表示大量复杂多样的信息的技术。

1. 二进制

二进制是一种数制,它使用两个符号(0和1)来表示所有的数值。在计算机科学中,二进制系统是非常重要的,因为它是大多数现代计算机处理数据的基础。

  • 有两个不同的数字符号,0和1
  • 逢二进一(二进制的基数为2)

2. 其他数制

基本概念:

  • 数位:数码在一个数所处的位置
  • 基数:在某种进位数制中,每个数码上所能使用的数码的个数
  • 必须逢N进1

(1)十进制数

有十个不同的数码0、1、2、3、4、5、6、7、8、9,基数为10,特点是逢10进一。

(2)八进制

八个不同的数码0、1、2、3、4、5、6、7,基数为8,逢八进一。

(3)十六进制

有十六个不同的数码符号0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(可小写)。

二进制数的不同进制对照表

二进制 十进制 八进制 十六进制
0000 0 0 0
0010 2 2 2
0110 6 6 6
1000 8 10 8
1010 10 12 A
1100 12 14 C

ASCII 码

ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于拉丁字母的字符编码,主要用于显示现代英语和其他西欧语言。

原始的ASCII表使用7位二进制数来表示128个可能的不同字符。后来扩展到8位以支持更多的字符,总共可以表示256个不同的值。

常用ASCII码表

十进制 十六进制 字符 描述
0 0x00 NUL 空字符
10 0x0A LF 换行
13 0x0D CR 回车
32 0x20 (空格) 空格
48-57 0x30-0x39 0-9 数字0-9
65-90 0x41-0x5A A-Z 大写英文字母
97-122 0x61-0x7A a-z 小写英文字母

Unicode 编码和 UTF-8 编码

Unicode 编码

Unicode是一个国际标准,它为世界上几乎所有的字符集定义了一个统一的、唯一的数字编号。每个字符都被赋予了一个唯一的代码点(code point),这个代码点是用十六进制表示的。

例如,拉丁字母”A”的Unicode代码点是U+0041。

UTF-8 编码

UTF-8 (Unicode Transformation Format - 8 bit) 是Unicode的一种实现方式,它是一种变长编码,可以使用1到4个字节来表示一个Unicode字符。

  • 对于ASCII范围内的字符(U+0000至U+007F),UTF-8使用单个字节
  • 对于其他基本多语言平面(BMP)内的字符(U+0080至U+FFFF),UTF-8使用两个或三个字节
  • 对于超出BMP的字符,则需要四个字节

💡 UTF-8 的优势

由于UTF-8的高效性和向后兼容性,它已成为互联网上最常用的字符编码之一。大多数现代操作系统和编程环境默认都支持UTF-8。

进制转换和二进制运算

十进制转二进制

整数部分除以2,直到余数为0,然后将余数倒序排列。

原码、反码和补码

  • 正数的原码、反码和补码都一样
  • 负数的反码是用它的原码转化得到的(符号位不变,其他0变1,1变0)
  • 计算机内部用补码进行运算
1
2
3
4
5
6
7
8
9
10
11
12
13
# Python中的进制表示
# 二进制
binary_num = 0b1010 # 10的十进制

# 八进制
octal_num = 0o12 # 10的十进制

# 十六进制
hex_num = 0xA # 10的十进制

print(binary_num) # 输出: 10
print(octal_num) # 输出: 10
print(hex_num) # 输出: 10

下一步学习

掌握了计算机基础知识后,建议继续学习:


© 2025 Rl. 使用 Stellar 创建
站点访问量 Loading... 站点访客数 Loading... 页面访问量 Loading...