Z całego ciała z artykułu Steve'a Yegge,
Kandydaci powinni wiedzieć, jakie są bity i bajty. Powinny być w stanie liczyć w systemie binarnym; np. powinni umieć powiedzieć, co to jest 2 ^ 5 lub 2 ^ 10, w systemie dziesiętnym. Nie powinni patrzeć na ciebie tępo, kiedy pytasz z 2 ^ 16 jest. To specjalny numer. Powinni to wiedzieć.
Wyrzucono mnie z fragmentu, który zacytowałeś w pytaniu; brzmiało to tak, jakby kandydat powinien był w stanie opisać jego znaczenie, ale w kontekście mówi, że kandydaci powinni wiedzieć z góry, jaka jest konwersja dziesiętna 2 16 .
Znaczenie tego jest takie, że ponieważ my, ludzie, nadal używamy dziesiętnych do zliczania, szczególnie w naszych głowach (w większości przypadków), musimy znać przybliżone pojemności wspólnych bloków bajtów , których używamy do przechowywania, pamięci, a nawet kodowania znaków. Ponieważ bajt ma 8 bitów, najczęściej są to 8, 16, 24, 32 i 64.
W tej chwili powiedziałbym, że 2 32 to najczęściej występująca pojemność, z którą ma do czynienia deweloper. Jestem podejrzliwy w stosunku do programistów, którzy nie wiedzą, że 2 32 to około 4 miliardy (maksymalna wartość ~ 2 miliardy, jeśli podpisano), ponieważ oznacza to, że nigdy nie zadali sobie trudu, aby dowiedzieć się z grubsza, ile rekordów można przechowywać w ich bazach danych, które używaj 32-bitowych int
s dla kluczy podstawowych, lub gdy stary kod używający 32-bitowych int
s dla identyfikatorów, dat itp. będzie wymagał refaktoryzacji do wersji 64-bitowej. 1
2 16 to całkowita pojemność Javy short
. (Łączna liczba między -2 15 a 2 15 -1)
Deweloper powinien na pamięć wiedzieć, co to jest 8-bit. Jednym z wielu powszechnych zastosowań jest kodowanie znaków ASCII.
Nie spodziewałbym się, że programista w ogóle zna 2 14 lub 2 18 , ale prawdopodobnie oczekiwałbym, że znają 2 16, ponieważ jest to bardzo często występująca liczba i wystarczająco krótka liczba (65536), aby łatwo zapamiętać pełny numer.
1: Jeśli przejrzysz tabele liderów Call of Duty: MW2 lub iPhone Game Center, często zobaczysz oszustów na szczycie z wysokimi wynikami w wysokości 2 147 483 647, co oznacza 2 31 -1, czyli maksymalną wartość ze znakowanej liczby całkowitej 2 32 .