Dari seluruh artikel Steve Yegge,
Calon harus tahu apa itu bit dan byte. Mereka harus bisa menghitung dalam biner; misalnya mereka harus dapat memberi tahu Anda apa 2 ^ 5 atau 2 ^ 10 adalah, dalam desimal. Mereka seharusnya tidak menatap kosong pada Anda ketika Anda bertanya dengan 2 ^ 16 adalah. Ini nomor khusus. Mereka harus mengetahuinya.
Saya terlempar dari bagian yang Anda kutip dalam pertanyaan; kedengarannya seperti seorang kandidat harus dapat menggambarkan signifikansi itu, tetapi dalam konteksnya dia mengatakan bahwa para kandidat harus tahu, di atas kepala mereka, apa konversi desimal 2 16 itu.
Pentingnya hal ini adalah karena kita manusia masih menggunakan desimal untuk menghitung, terutama di kepala kita (dalam kebanyakan keadaan), kita perlu mengetahui kapasitas kasar dari blok byte umum yang kita gunakan untuk penyimpanan, memori, atau bahkan pengkodean karakter. Karena byte adalah 8 bit, yang paling umum adalah 8, 16, 24, 32, dan 64.
Pada saat ini saya akan mengatakan 2 32 adalah kapasitas yang paling umum terjadi dengan pengembang. Saya curiga pada pengembang yang tidak tahu bahwa 2 32 kira-kira 4 miliar (nilai maksimum ~ 2 miliar jika ditandatangani), karena itu berarti mereka tidak pernah repot-repot mencari tahu berapa banyak catatan yang dapat disimpan dalam database mereka yang gunakan 32-bit int
s untuk kunci utama, atau ketika kode lama menggunakan 32-bit int
untuk ID, tanggal, dll. akan perlu di refactored menjadi 64-bit. 1
2 16 adalah total kapasitas Jawa short
. (Total angka antara -2 15 dan 2 15 -1)
Seorang pengembang harus hafal 8-bit. Di antara banyak penggunaan umum adalah pengkodean karakter ASCII.
Saya tidak akan mengharapkan seorang programmer tahu 2 14 atau 2 18 sama sekali, tapi saya mungkin akan berharap bahwa mereka tahu 2 16 karena ini adalah angka yang sangat umum dan angka yang cukup pendek (65536) untuk dengan mudah mengingat angka penuh.
1: Jika Anda meramban papan peringkat Call of Duty: MW2 atau iPhone Game Center Anda akan sering melihat curang di atas dengan nilai skor tinggi 2.147.483.647, yang merupakan 2 31 -1, nilai maksimum bilangan bulat 2 32 yang ditandatangani .