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 | # Python中的进制表示 |
下一步学习
掌握了计算机基础知识后,建议继续学习:
- Python语言简介 - 了解Python的运算符和基本语法
- 数字类型 - 学习Python中的数字类型