Penyimpanan data dan pemampatan
Diperkenalkan| English | Makna |
|---|---|
| compression/kəmˈpreʃn/ | Kompresi |
| kibibyte/ˈkɪbɪbaɪt/ | Kibibyte |
| lossless/ˈlɒsləs/ | Tanpa kehilangan |
| run-length encoding/rʌn leŋθ enˈkəʊdɪŋ/ | Pengkodean panjang-lari |
| lossy/ˈlɒsi/ | Dengan kehilangan |
Memampatkan fail supaya lebih kecil
- Penyimpanan data diukur dalam unit yang setiap langkah naik oleh 1024.
- Kita boleh mengira saiz fail imej atau bunyi.
- Pemampatan kemudian menjadikan fail lebih kecil.
Mengukur penyimpanan
- bit (satu 0/1) · nibble (4 bit) · byte (8 bit).
- Kemudian setiap unit adalah 1024× dari sebelumnya (karena $1024 = 2^{10}$): kibibyte (KiB) = 1024 byte, mebibyte (MiB) = 1024 KiB, gibibyte (GiB) = 1024 MiB, tebibyte (TiB) = 1024 GiB.
- Selalu bagi dengan 1024 (bukan 1000) untuk naik ke satu unit.

Komputer merepresentasikan semua data sebagai biner — deretan panjang 0 dan 1.
Berapa banyak byte dalam 1 kibibyte (KiB)?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
1 KiB = 1024 bytes (setiap unit penyimpanan meningkat sebanyak 1024 = 2^10).
Padankan setiap idea penyimpanan/pemampatan dengan maksudnya.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Saiz fail bertambah dengan detail; pemampatan mengecilkannya, tanpa kehilangan atau dengan kehilangan.
Menghitung ukuran file
- Gambar (bits) $=$ lebar × tinggi × kedalaman warna.
- Suara (bits) $=$ tingkat sampel × resolusi sampel × detik.
- Bagi dengan 8 untuk byte, lalu bagi dengan 1024 untuk KiB, lagi untuk MiB.
- mis. $1024 \times 1024$ pada 16 bpp $= 16\,777\,216$ bit $= 2$ MiB.
Sebuah gambar berukuran 100 × 100 piksel dengan kedalaman warna 24 bit. Berapakah saiznya dalam bit?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
lebar × tinggi × kedalaman warna = 100 × 100 × 24 = 240 000 bit.
Kompresi
- Kompresi lossless membuat file lebih kecil tanpa kehilangan permanen — aslinya dapat dibangun kembali secara presisi. Pengkodean panjang lari (RLE) menyimpan serangkaian pengulangan sekali (mis.
WWWWWWWW→ "8 W"). - Kompresi lossy membuatnya jauh lebih kecil dengan menghapus data secara permanen (resolusi/tingkat sampel lebih rendah).
- Gunakan lossless untuk teks dan file program; lossy untuk foto, musik, dan video.

Pengkodean panjang lari menyimpan serangkaian pengulangan sekali, sebagai pasangan (jumlah, nilai): 8 W, lalu 4 R.
Pengekodan panjang-lari mengecilkan pengulangan
Pemampatan menjadikan fail lebih kecil. Pengekodan panjang-lari menggantikan satu siri nilai identik dengan satu nilai plus bilangan — tanpa kehilangan, dan terbaik apabila data mempunyai siri panjang.
Pemampatan tanpa kehilangan:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Tanpa kehilangan menyimpan semua data (contohnya RLE); dengan kehilangan membuang sesetengah data secara kekal.
Pengekodan panjang-lari (RLE) memampatkan data dengan:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
RLE menggantikan siri seperti WWWWWWWW dengan "8 W" — sangat sesuai apabila data mempunyai banyak pengulangan.
Pemampatan dengan kehilangan paling sesuai untuk:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Dengan kehilangan sesuai untuk media di mana sedikit penurunan kualiti menghasilkan fail jauh lebih kecil; data tepat memerlukan tanpa kehilangan.
Anda telah memahaminya
- unit penyimpanan naik dengan faktor 1024 (KiB, MiB, GiB, TiB)
- ukuran gambar = lebar × tinggi × kedalaman warna (bits); suara = tingkat × resolusi × detik
- lossless = pemulihan presisi (RLE); lossy = lebih kecil, kehilangan permanen
- lossless untuk teks/program; lossy untuk foto/musik/video