私はuint10と言うように2つのビットでuint8変数を拡張したいと考えています。そのために私はこの方法を使いましたが、考慮に入れるだけでマスクがかかります。uint8をC言語のunit2に分割してunit10を後で作成する
void splitbits(unsigned int x){ //x=11001010 and i want to have this for any given X
split[0]=(x>> 6) & 0x01 ; //split[0]=11
split[1]=(x>> 4) & 0x01 ; //split[1]=00
split[2]=(x>> 2) & 0x01 ; //split[2]=10
split[3]=x & 0x01 ; //split[3]=10
}
あなたは 'split'配列の各要素での2ビットをしたい場合のカップルにバイトのバッファをsplitingためのいくつかのコードを、あなたの代わりに' 0x01'の '0x03'を使うべきではないのですか? – kuro
こんにちはこれは、私たちがビットを知っているこのケースでのみ動作します。私はマスクなしでunkonwデータを分割するために探します。ビット単位の操作ではうまくいきません。 – samibe
はい、ありがとう、0x01または0x02 2ビットのために私は間違っていた。 – samibe