Steve Yeggeの記事の本文から、
候補者はビットとバイトが何であるかを知っている必要があります。彼らはバイナリで数えることができるはずです。たとえば、2 ^ 5または2 ^ 10が何であるかを10進数で教えてくれるはずです。2 ^ 16 isで尋ねるとき、彼らはあなたを見つめているべきではありません。これは特別な番号です。彼らはそれを知っているべきです。
あなたが質問で引用したビットから私は投げ捨てられました。候補者はその重要性を説明できるように思えますが、文脈上、候補者は頭の中で2 16の 10進変換が何であるかを知っているべきだと言っています。
これの重要性は、私たち人間は、特に頭の中で(ほとんどの状況で)カウントにまだ小数を使用しているため、ストレージ、メモリ、または文字エンコーディングに使用する一般的なバイトブロックの大まかな容量を知る必要があるということです。バイトは8ビットであるため、最も一般的なのは8、16、24、32、および64です。
現時点では、開発者が扱う最も一般的な容量は2 32です。2 32が約40億(署名された場合は最大20億の最大値)であることを知らない開発者を疑っています。使用する32ビットint
の主キーのため、または32ビット使用して、古いコードint
などのID、日付、のためのSは64ビットにリファクタリングする必要があります。1
2 16はJavaの総容量ですshort
。(-2 15と2 15 -1の間の合計数)
開発者は、8ビットが何であるかを暗記する必要があります。多くの一般的な使用法には、ASCII文字エンコードがあります。
プログラマーが2 14や2 18を知ることはまったく期待していませんが、2 16は非常に一般的な数字であり、完全な数字を簡単に覚えるのに十分な数(65536)なので、おそらく2 16を知っていると思われます。
1:Call of Duty:MW2またはiPhone Game Centerのリーダーボードを参照すると、上部に2,147,483,647(2 31 -1、符号付き2 32整数の最大値)の高いスコア値を持つ不正行為者がよく見られます。