Contoh keterbatasan dalam TI karena panjang bit yang berbeda menurut desain [ditutup]

8

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:

  1. 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.
  2. 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.

Alexander Galkin
sumber
Tujuan mendesain teknologi "masa depan tanpa bukti" tidak dapat dicapai. Sebagai gantinya, kami berusaha untuk merancang "kode pengungkapan niat" dan "data yang menggambarkan diri sendiri" sehingga informasi tambahan (maksud, dan deskripsi) akan memudahkan migrasi kode dan data ke format berikutnya.
rwong
Ini sangat jelas bagi saya dan para siswa. Ide dasar di sini adalah untuk membiasakan diri dengan dunia 8-bit-pro-byte dan untuk mendapatkan gambaran umum tentang "berapa banyak data" yang dapat dimiliki oleh satu, dua, empat dll struktur byte.
Alexander Galkin
Saran saya adalah untuk mencari contoh yang sezaman dengan usia siswa. Artinya, mereka mungkin tidak sepenuhnya menghargai situasi dalam teknologi lama, harga RAM, dll. (Pada satu titik, modul memori 64KB adalah
selungkup
Jika Anda ingin mengajarkan cara mengatasi keterbatasan, ajarkan penambahan biner dengan carry, kode awalan (diperlukan untuk memahami instruksi mesin), Unicode (contoh skema pengkodean), dan undang siswa untuk merancang skema pengkodean ad-hoc untuk menyenangkan. Sentuh sedikit "informasi" dan "entropi".
rwong
Mungkin saya merumuskan pertanyaan saya dengan cara yang agak kabur: 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.
Alexander Galkin

Jawaban:

9

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.

Wyatt Barnett
sumber
1
Ya - Pertimbangkan ini: Jika ada 1 juta alamat yang dialokasikan setiap picosecond, butuh 10783127828133.15 tahun untuk mengkonsumsi semuanya. Ada 2 ^ 128 alamat yang tersedia dengan IPV6. Dalam satu detik, ada 10 ^ 6/10 ^ -12 alamat yang dialokasikan (1 x 10 ^ 18). Jadi (2 ^ 128) / ((10 ^ 6) / (10 ^ -12)) = 340282366920938463463.37 detik. Dengan asumsi ada 31.556.926 detik dalam setahun (menurut google.com), ini menghasilkan 10783127828133.15 tahun. Karena ini lebih tua dari bumi, kita seharusnya baik-baik saja.
Jack
@Jack masalah Y11T? :)
rightfold
@Jack: sebelum kami tidak, kami akan kehilangan banyak alamat karena segmentasi jaringan.
Wyatt Barnett
1

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):

TEX mewakili semua dimensi secara internal sebagai kelipatan bilangan bulat dari unit kecil yang disebut sp. Karena panjang gelombang cahaya tampak sekitar 100 sp, kesalahan pembulatan beberapa sp tidak membuat perbedaan bagi mata. [...]

TEX tidak akan berurusan dengan dimensi yang nilai absolutnya adalah 2 ^ 30 sp atau lebih. Dengan kata lain, dimensi hukum maksimum sedikit kurang dari 16384 pt. Jaraknya sekitar 18.892 kaki (5.7583 meter), jadi itu tidak akan membuat gaya Anda menjadi kaku.

(pt adalah unit tipografi kira-kira sama dengan 1/72 inci)

liori
sumber
0

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).

ASHelly
sumber