2

私はマニュアルを読みました:

ビット指向の配信の場合、バイトストリーム形式のビット順序は、最初のバイトのMSBで始まり、最初のバイトのLSBに進み、次に2番目のバイトのMSBに進むように指定されます。

私のアプリケーションでは、ビットに対処する必要があります。(たとえば、10進数の5は、2進数形式では00000101のようになります)つまり、(マニュアルによると)読み取ったビットの順序は次のようになります。

<= 0 <= 0 <= 0 <= 0 <= 0 <= 1 <= 0 <= 1 (first read bit I read is 0, second is 0 etc....)

または、ビットを読み取る順序を意味します。

<= 1 <= 0 <= 1 <= 0 <= 0 <= 0 <= 0 <= 0 (first read bit I read is 1, second is 0 etc....)

ありがとう

4

4 に答える 4

2
  • MSB: 最上位ビット
  • LSB: 最下位ビット

したがって、5 (0000_0101) の場合、左側のビット (2 7を表す) が「最上位」であり、右側のビット (2 0を表す) が「最下位」です。したがって、はい、最初のビットは 0 であると想定してください。

于 2011-04-08T12:36:33.100 に答える
1

Javaでは、バイトのストリームを読み書きするためのデフォルトのメソッドは、自動的にネットワークのバイトオーダーにデフォルト設定されるため、おそらくこれで問題ありません。

于 2011-04-08T12:33:54.447 に答える
1

ストリームの最初のバイトが である場合、0x7D,0x01ビットのストリームが始まります0,1,1,1,1,1,0,1,0,0,0,0,0,0,0,1

于 2011-04-08T12:35:32.750 に答える
1

バイトオーダーは、主にエンディアンネスと呼ばれます。ビッグ エンディアン システムとリトル エンディアン システムがあります。

ビッグ エンディアンでは最上位ビットが最初にあり、リトル エンディアンでは最下位ビットが最初です。

ほとんどのネットワーク トラフィックはビッグ エンディアンです。X86 マシンは常にリトルエンディアンです。

ここにエンディアンネスに関する詳細情報があります

于 2011-04-08T12:37:54.500 に答える