第三课:信息编码与网络基础
一、信息编码基础
1.1 二进制基础
计算机使用二进制系统(0和1)表示所有数据
转换示例:
#include <bitset>
#include <iostream>
using namespace std;
int main() {
int num = 42;
bitset<8> binary(num); // 8 位二进制表示
cout << "十进制: " << num << endl;
cout << "二进制: " << binary << endl;
cout << "十六进制: 0x" << hex << num << endl;
return 0;
}
1.2 数据单位
| 单位 | 中文名称 | 换算关系 | 示例 |
|---|---|---|---|
| KB | 千字节(Kilobyte) | 1 KB = 1024 Byte | 一张低分辨率图片 ≈ 100 KB |
| MB | 兆字节(Megabyte) | 1 MB = 1024 KB = Byte | 一首MP3歌曲 ≈ 4 MB |
| GB | 吉字节(Gigabyte) | 1 GB = 1024 MB | 一部高清电影 ≈ 1-5 GB |
| TB | 太字节(Terabyte) | 1 TB = 1024 GB | 一块普通机械硬盘 ≈ 1-4 TB |
| PB | 拍字节(Petabyte) | 1 PB = 1024 TB | 大型数据中心存储 ≈ 数百PB |
| EB | 艾字节(Exabyte) | 1 EB = 1024 PB | 全球互联网流量每月 ≈ 数百EB |
1.3 ASCII码详解
核心知识:
- 标准ASCII:7位编码(0-127),包含:
- 控制字符(0-31):回车(13)、换行(10)、退格(8)
- 可打印字符(32-126):空格(32)、数字(48-57)、大写字母(65-90)、小写字母(97-122)
- 扩展ASCII:8位编码(128-255),包含特殊符号
- 大小写转换:小写字母ASCII码 = 大写字母ASCII码 + 32
C++实践:
#include <iostream>
using namespace std;
int main() {
// 大小写转换
char lower = 'a';
char upper = char(lower - 32);
cout << "小写a转大写: " << upper << endl;
// 字符类型判断
char ch = '7';
if(ch >= '0' && ch <= '9') {
cout << ch << " 是数字" << endl;
} else if((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) {
cout << ch << " 是字母" << endl;
}
return 0;
}
真题:
-
字符'A'的ASCII码是65,则字符'D'的ASCII码是( )
A. 68 B. 69 C. 70 D. 71
答案:A(字母连续排列) -
执行
cout << (char)(97-32);输出结果是( )
A. A B. a C. 65 D. 97
答案:A -
以下哪个ASCII码表示空格?
A. 10 B. 13 C. 32 D. 48
答案:C