Saya mengajar kursus "Pengantar Pemrograman" untuk siswa tahun pertama dan ingin mencari contoh menarik di mana ukuran datatype dalam bit, dipilih oleh desain, menyebabkan batasan yang diketahui atau nilai-nilai penting tertentu.
Berikut ini beberapa contohnya:
- Karena fakta bahwa Bell teleprinter menggunakan 7-bit-code (kemudian diterima sebagai ASCII) sampai sekarang kita sering menyandikan lampiran dalam pesan elektronik yang hanya berisi data 7 bit.
- Keterbatasan klasik ruang alamat 32-bit mengarah ke ukuran maksimal RAM 4Gb yang tersedia untuk sistem 32-bit dan ukuran file maksimal 4Gb di FAT32.
Apakah Anda tahu beberapa contoh menarik lainnya bagaimana pilihan tipe data (dan khususnya panjang binernya) memengaruhi dunia TI modern.
Ditambahkan setelah beberapa diskusi dalam komentar:
Saya tidak akan mengajarkan cara mengatasi keterbatasan. Saya hanya ingin mereka tahu bahwa 1 byte dapat menampung nilai dari -127..0 .. + 127 o 0..255, 2 byte mencakup kisaran 0..65535 dll dengan membuktikan contoh yang mereka ketahui dari sumber lain, seperti pengkodean base64 yang disebutkan di atas, dll. Kami hanya mempelajari tipe data dasar dan saya mencoba mencari referensi yang bagus untuk "seberapa besar" tipe-tipe ini.
sumber
Jawaban:
IPv4 adalah contoh yang sangat bagus di mana ukuran spec terbatas menyebabkan masalah yang sangat mahal di telepon. 4,3 miliar alamat tidak cukup lagi. Sekarang ISP di seluruh dunia meluncurkan IPv6 dengan ruang alamat 128-bit yang diterjemahkan menjadi alamat untuk setiap atom dalam tubuh Anda atau sesuatu seperti itu.
sumber
Masalah tahun 2000 serupa, kecuali bahwa orang menggunakan angka desimal alih-alih biner, dan menyandikan hanya dua digit terakhir. Ini bisa menjadi contoh yang berguna jika menjelaskan kepada seseorang yang memiliki sedikit pengalaman dengan biner.
FAT12 / FAT16 / FAT32 disesuaikan untuk menutupi penyimpanan yang lebih besar dan lebih besar.
TeX memiliki beberapa sifat menarik ketika mewakili dimensi (dari The TeXBook):
(pt adalah unit tipografi kira-kira sama dengan 1/72 inci)
sumber
Microsoft Excel - coba buat grafik lebih dari 32 ribu item. Harus ada bidang 16 bit yang ditandatangani di sana di suatu tempat. (Meskipun mereka membulatkan batas ke 32000 bahkan untuk beberapa alasan).
sumber