unsigned char変数の右端のビットに設定された位置から始まるビットでsetbits(x,p,n,y)
戻る関数を作成する必要があります(他のビットは変更されません)。x
n
p
n
y
たとえば、x = 10101010 (170 decimal)
and y = 10100111 (167 decimal)
and andn = 3
とp = 6
言う場合は、3ビットを取り除き、答えを得る位置にy (111)
配置する必要があります。x
10xxx010
10111010
この関数は、結果をバイナリ形式で出力する必要があります。
出力は次のようになります。
x = 10101010 (binary)
y = 10100111 (binary)
setbits n = 3, p = 6 gives x = 10111010 (binary)
こんにちは私はビットフィールドでこの問題に遭遇しました。
どうすればいいですか?
Typedef struct {
unsigned char x:8;
unsigned char y:8;
} var;