计算机的基本构成与数据单位
计算机的基本构成与数据单位
CPU、内存、I/O 设备等计算机基本构成;位、字节与字等数据单位及其换算。
概念
计算机由 CPU(执行指令)、内存(临时存放程序与数据)、I/O 设备(键盘、磁盘、显示器等)协同工作。程序运行时,指令与数据在内存中按地址读写;外存用于长期保存。信息在机器里一律用二进制表示;位(bit) 是最小单位,字节(byte) 通常为 8 位,是内存寻址与 char 存储的常见粒度。字(word) 指 CPU 一次处理的宽度(如 32 位、64 位),不要与「字节」混为一谈。本叶考硬件层次与 bit/byte/KB/MB 换算;进制算术归 cspj.math.number-and-base,C++ 里 int/long long 占几字节归 cspj.cpp.datatype。
CSP-J 常考
- 32 位整型占几个字节:
cspj-r1-2019第 3 题。 - 内存单元唯一序号叫什么(地址):
cspj-r1-2020第 1 题。 - 按分辨率与色深估算图像占用空间:
cspj-r1-2020第 4 题。 - bit 与 byte、字、KB 谁最小:
cspj-r1-2023第 13 题。 - 题面给定 1KB=1024B、1MB=1024KB,求 1MB 等于多少 bit:
cspj-r1-2024第 5 题。
#include <iostream>
using namespace std;
int main() {
cout << sizeof(int) << " 字节" << endl; // 常见为 4
cout << sizeof(char) << " 字节" << endl; // 恒为 1
// 2048×1024 像素、每像素 32 位 → 2048*1024*32/8 字节
long long bytes = 2048LL * 1024 * 32 / 8;
cout << bytes / (1024 * 1024) << " MB" << endl;
return 0;
}
易错点
- 把「32 位整型」理解成占 32 字节;位数与字节数要除以 8。
- 图像体积只乘宽高、忘记乘每像素位数,或忘记再除以 8 换成字节。
- 题面写 1024 进位时仍用 1000 当 KB/MB;无说明时再按题面给的换算做。
一个 32 位整型变量占用()个字节。
在内存储器中每个存储单元都被赋予一个唯一的序号,称为()。
现有一张分辨率为 2048×1024 像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?( )。
目前主流的计算机储存数据最终都是转换成( )数据进行储存。
在计算机中,以下哪个选项描述的数据存储容量最小()
记 1KB 为 1024 字节(byte),1MB 为 1024KB,那么 1MB 是多少二进制位(bit)?( )
一个 32 位无符号整数可以表示的最大值,最接近下列哪个选项?