2バイトでいくつの数字を表すことができますか?


ベストアンサー

65536。

多くの回答が「あなたは表すことができます0から65535インチまでの数字ですが、それは本当に任意です。 -5から65530までのすべての数値、2から131072までのすべての偶数、または1、1 / 2、1 / 3、…、1/65536のすべての数値を表すこともできます。しかし、問題は、2バイトで表すことができる個別の数値の数です。 p>

2バイトを使用して数値を表す場合、これらの2バイトが取ることができる65536の可能な個別の値を、これらの値が表す数値にマッピングする関数を定義することを意味します。

Ifその関数は注入型であり、関数のイメージはそのドメインと同じサイズであるため、表現できる65536個の異なる数値が含まれます。関数がインジェクティブではない(2バイトの複数の値が同じ数にマップされる)場合、そのイメージはそのドメインよりも小さいため、このようなスキームは65536未満の個別の数値を表します。

(これが発生する可能性のある実際的なシナリオの1つは、1ビットが符号ビットとして使用される場合です。このような場合、数値0の2つの異なる表現が存在することがよくあります。 1つは符号ビットが設定され、もう1つは符号ビットがクリアされています。)

回答

バイトは8ビットのセットです。 1ビットは1または0です。バイトは次のようになります。

11110000

記数法の名前は2進数です。次の式を使用して、10進数の任意の2進数を変換できます。

右から左へ:

(1桁目の値)* 2 ^ 0 +(2桁目の値)* 2 ^ 1 +(3桁目の値)* 2 ^ 2 +…

バイトの長さは2 ^ 8 = 256、0から255までです。

ただし、2バイト変換にはより多くの桁が含まれるため、512ではありません。 2バイトの場合、2 ^ 16 = 2 ^ 8 * 2 ^ 8 = 256 * 256 = 65536

最大値は長さ-1です。したがって、最大値は65535です!

私の悪い英語でごめんなさい:)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です