1

私の質問は少し奇妙です。Client-Server アプリケーションを指定しました。Client では Structure が設計されており、 size の Character 配列が含まれていますchar values[1000]。サーバーから 1000 ビットを受け取ります0's and 1's。その中で、 からビットを読みたいと思います885 and 886's position。これを適切に実行する方法は?その位置で読むと奇妙な文字が表示されます。ビットが通常の array-> とは異なり、そのvalues[]配列内に大量のデータとして格納されているためだと思います。values[1000]={111010101....1}int abc[2] = {1,2};

これが理由ですか?では、どうすれば から読むことができ885 and 886's positionsますvalues[1000]={111010101....1}か?

明確にしてください...

4

3 に答える 3

1

single あたり 8 ビットを格納すると仮定すると、charこの方法で実行できます。PINARMでレジスタを使用する方法です。

int bitState = 0;
char buff[1000];

//Some execution that updates the buff

bitState = ((buff & (1 << 885)) ? 1 : 0);
if(bitState)
  //DO this;
else
  //DO that;

bitState = ((buff & (1 << 886)) ? 1 : 0);
if(bitState)
  //DO this;
else
  //DO that;
于 2013-07-02T10:41:47.333 に答える