Steve Yegge'nin makalesinden tüm vücuttan,
Adaylar, bit ve baytların ne olduğunu bilmelidir. İkili sayımı yapabilmeliler; örneğin, 2 ^ 5 veya 2 ^ 10'un ondalık sayı olduğunu söyleyebilmeliler. 2 ^ 16 ise sorduğunuzda size boş bakmamalılar. Bu özel bir numara. Bilmeliler.
Ben soruda alıntı yaptığınız parçadan atıldım; Bir adayın önemini tanımlayabilmesi gerektiği gibi görünüyordu, ancak bağlamda, adayların, başlarının üstünde, 16'sının ondalık dönüşümünün ne olduğunu bilmeleri gerektiğini söylüyor .
Bunun önemi, insanlar saymak için hala ondalık kullandığımız için, özellikle kafalarımızda (çoğu durumda), depolama, bellek ve hatta karakter kodlaması için kullandığımız ortak bayt bloklarının kaba kapasitelerini bilmemiz gerekir . Bir bayt 8 bit olduğundan, en yaygın 8, 16, 24, 32 ve 64'tür.
Şu anda bir geliştiricinin uğraştığı en yaygın kapasitenin 2 32 olduğunu söyleyebilirim . 2 32'nin kabaca 4 milyar olduğunu (imzalarsa maksimum değeri ~ 2 milyar) bilmeyen geliştiricilerden şüpheliyim , çünkü veritabanlarında kaç tane kayıt saklanabileceğini asla zahmet etmediler. int
birincil anahtarlar için 32 bit s kullanın veya int
kimlikler, tarihler vb. için 32 bit s kullanan eski kodların 64 bit olarak yeniden düzenlenmesi gerektiğinde kullanın. 1
2 16 , Java'nın toplam kapasitesidir short
. (Toplam rakamlar -2 15 ila 2 15 -1)
Bir geliştirici, 8 bit'in ne olduğunu yürekten bilmelidir. Yaygın olarak kullanılan kullanımlar arasında ASCII karakter kodlaması bulunur.
Bir programlayıcının 2 14 veya 2 18'i bilmesini beklemem, ama muhtemelen 2 16'yı bilmelerini beklerdim, çünkü çok yaygın bir sayıdır ve tam sayıyı kolayca hatırlamak için yeterince kısa bir sayıdır (65536).
1: Call of Duty: MW2 veya iPhone Oyun Merkezi'nin lider tablolarına göz atarsanız, en yüksek değeri 2.147.483.647 olan ve en yüksek değeri 2 31 -1 olan, imzalı bir 2 32 tamsayısının değeri olan hileleri görürsünüz .