数据存储单位详解
以下是计算机中常用的数据存储单位及其换算关系:
基本单位体系
| 单位 | 全称 | 字节换算 | 常见用途 |
|---|---|---|---|
| bit (b) | 比特 | 1/8 字节 | 网络带宽、最小数据单位 |
| Byte (B) | 字节 | 1 字节 | 基本存储单位 |
| KB | 千字节 | 1,024 字节 | 小文件、简单文档 |
| MB | 兆字节 | 1,024 KB | 照片、音乐文件 |
| GB | 吉字节 | 1,024 MB | 电影、小型游戏 |
| TB | 太字节 | 1,024 GB | 硬盘容量、大型数据库 |
| PB | 拍字节 | 1,024 TB | 数据中心存储 |
| EB | 艾字节 | 1,024 PB | 全球互联网数据量级 |
详细换算关系
-
基本换算:
- 1 Byte (B) = 8 bits (b)
- 1 KB = 1,024 Bytes
- 1 MB = 1,024 KB = 1,048,576 Bytes
- 1 GB = 1,024 MB = 1,073,741,824 Bytes
- 1 TB = 1,024 GB = 1,099,511,627,776 Bytes
-
二进制与十进制区别:
- 计算机使用二进制 (1 KB = 2^10 = 1,024 Bytes)
- 硬盘厂商常用十进制 (1 KB = 10^3 = 1,000 Bytes),所以标称容量通常比实际可用容量大
实际应用示例
-
文本数据:
- 普通英文文本:约1字节/字符
- 中文文本:通常2-4字节/字符(UTF-8编码)
-
多媒体文件:
- 普通照片:3-5 MB
- MP3歌曲:3-5 MB
- 高清电影:1-5 GB
- 4K电影:15-100 GB
-
存储设备容量:
- U盘:16GB-256GB
- 手机存储:64GB-1TB
- 硬盘:500GB-16TB
- 服务器存储:数TB到数PB
JavaScript中的单位转换函数
function formatBytes(bytes, decimals = 2) {
if (bytes === 0) return '0 Bytes';
const k = 1024;
const dm = decimals < 0 ? 0 : decimals;
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
}
// 使用示例
console.log(formatBytes(500)); // "500 Bytes"
console.log(formatBytes(1024)); // "1 KB"
console.log(formatBytes(1048576)); // "1 MB"
console.log(formatBytes(123456789)); // "117.74 MB"
常见误区
-
混淆 bit 和 Byte:
- 网络带宽常用 Mbps (兆比特/秒)
- 下载速度常用 MB/s (兆字节/秒)
- 1 MB/s = 8 Mbps
-
存储设备标称容量:
- 1TB硬盘实际可用空间约931GB(厂商用1000进制,系统用1024进制)
-
内存与存储单位:
- 内存容量通常用GB表示(如16GB内存)
- 存储容量可用GB/TB表示(如512GB SSD)